Avatar billede jess_chr Nybegynder
19. maj 2006 - 13:00 Der er 4 kommentarer

SELECT sætning i en SELECT sætning.

Jeg er ikke helt sikker på om spørgsmålet ligger det rigtige sted, men vi prøver!

Jeg har en meget stor søgefunktion, som udfra nogle medsendte parametre generere en SQL SELECT sætning, problemet er at
jeg godt vil have den til at returnere en række fra en tabel, som har direkte tilknytning til flere række i en anden tabel.

jeg vil godt have den gør noget lign det her(ved godt det ikke virker):

SELECT
FørsteTabelsPrimærNøgle AS PK1,
FørsteText AS TXT1,

{SELECT    AndenTabelsPrimærNøgle, AndenText
WHERE AndenTabelFremmedNøgle = FørsteTabelsPrimærNøgle} AS CelleDerIndeholderEnTabel

WHERE FørsteTabelsPrimærNøgle = 1
OR FørsteTabelsPrimærNøgle = 2

Resultatet skal så være noget lignende det her:
PK1    |TXT1        |CelleDerIndeholderEnTabel    |
1     | FørsteText1     |    ->|_11_| AndenText1_|<-    |
                  |_12_|_AndenText2_|
2     | FørsteText2     |    ->|_21_|_AndenText3_|<-    |
                  |_22_|_AndenText4_|

Er der en måde man kan gøre dette på i en SQL sætning?
Avatar billede dr_chaos Nybegynder
19. maj 2006 - 13:06 #1
Du kan kun hente et felt ud i en subselect. mener jeg

ellers kan du måske bruge

SELECT * FROM Tabel1 t1 INNER JOIN Tabel2 t2 ON t2.ID = t1.FremmedeID
Avatar billede jess_chr Nybegynder
19. maj 2006 - 13:40 #2
Normalt henter jeg også kun en ud, men lige nøjagtigt med det her problem er det en SUPER dårlig ide at skulle hente refereret tabeller ud af databasen, efter man har lavet første SELECT statement, der kan snildt være 3000 resultater, så jeg så gerne jeg ikke skulle udføre 3000 seperate SQL statements efter den første sql statement er udført, i 2005 kan man vist laver et XML baseret resultat i en celle, men jeg skal bruge dette på en 2000 server!
Avatar billede jess_chr Nybegynder
19. maj 2006 - 13:42 #3
angående
SELECT * FROM Tabel1 t1 INNER JOIN Tabel2 t2 ON t2.ID = t1.FremmedeID

du har ret, det ville sandsynligvis virke, men jeg anvender en DISTINCT så den går desværre ikke, glemte jeg at skrive!
Avatar billede dr_chaos Nybegynder
19. maj 2006 - 13:44 #4
Du kan godt lave en DISTINCT på den.
Så vil den dog hente id for tabel1 ud flere gange hvis tabel1 id står flere gange i tabel 2
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester