Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


SP-problem

Postades av 2005-08-25 16:15:22 - Henrik Stigebrandt, i forum sql-server/msde, Tråden har 1 Kommentarer och lästs av 601 personer

hej!

Jag skriver på en stored procdure i sql server som skall utföra en sökning på företagsinformation och returnera data. Nu funderar jag på hur jag bäst löser sökningen när det gäller data som finns i en undertabell (personer) till huvudtabellen (företag) för sökningen.

I huvudtabellen finns alltså företagsinfo som företagets namn, nummer, bransch o.s.v. I undertabellen personer finns info om personer (namn, befattning o.s.v) som är kopplade till företaget, på varje företag kan finnas många personer.

I sökformuläret finns en lista på befattningar som personerna kan inneha och det är här jag funderar på hur jag bäst skall lösa det i sp:n. Antalet befattningar är inte fixerat, så jag kan inte ha en inputvariabel i sp:n för varje befattning och söka på den. Helst skulle jag vilja JOINA personer mot företag och skriva:

WHERE personer.befattning IN (@befattningar) , där @befattningar innhåller en sträng med t ex innehållet "0, 1, 3, 6, 7, 8"

Men det går ju inte. Helst vill jag inte använda någon cursor i sp:n, men det kanske är enda lösningen?
Annars funderar jag på att hämta ut alla rader utan selektering på befattning och sedan filtrera datasetet i programkoden istället. Vilket går snabbast att exekvera? Tacksam för idéer!

mvh
henrik


Svara

Sv: SP-problem

Postades av 2005-08-25 18:43:03 - Henrik Stigebrandt

Löste det genom att konkaternera ihop sql-satsen i själva sp:n. Hittade ett exempel i MSDN:


USE Northwind
DECLARE @SQLString NVARCHAR(500)

/* Set column list. CHAR(13) is a carriage return, line feed.*/
SET @SQLString = N'SELECT FirstName, LastName, Title' + CHAR(13)

/* Set FROM clause with carriage return, line feed. */
SET @SQLString = @SQLString + N'FROM Employees' + CHAR(13)

/* Set WHERE clause. */
SET @SQLString = @SQLString + N'WHERE LastName LIKE ''D%'''

EXEC sp_executesql @SQLString
GO

Funkar utmärkt.

/henrik


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
200
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies