Avatar billede mjansen Seniormester
03. april 2018 - 15:53 Der er 1 kommentar

LEFT JOIN SELECT

Hej NG

Jeg har 3 tabeller:

tbl_Person:
ID
Navn
Adresse
....

tbl_Relation
ID
Person_ID
Type_ID

tbl_Type
ID
Beskrivelse

En person kan godt have flere relationer til Type. Men jeg vil gerne liste alle personer med kun en relation. Nemlig den relation med lavest ID.

SELECT ... FROM tbl_Person
LEFT JOIN (SELECT * FROM tbl_Relation ORDER BY Type_ID ASC) ON tbl_Relation.Person_ID = tbl_Person.ID
GROUP BY Person.ID

Med denne SQL prøver jeg så at få den laveste Type_ID

Men det virker ikke helt, kan nogen hjælpe mig?
Avatar billede arne_v Ekspert
03. april 2018 - 16:53 #1
maaske:

SELECT ...
FROM tbl_Person LEFT JOIN tbl_Relation r1 ON r1.Person_ID = tbl_Person.ID
WHERE r1.Type_ID = SELECT MIN(r2.Type_ID) FROM tbl_Relation r2 WHERE  r2.Person_ID=r1.Person_ID
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

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