Avatar billede Søren Bech Morsing Praktikant
03. maj 2006 - 12:44 Der er 4 kommentarer og
1 løsning

inner join, men kun én gang pr. match

hvis jeg har
SELECT * FROM tabel1 INNER JOIN tabel2 ON tabel1.id = tabel2.refid

Og tabel2 indeholder 1 eller flere poster med samme refid, hvordan får jeg så bare ét udfald, og sorteret så jeg får den sidst indtastede (ud fra tabel2.createdDate)?
Avatar billede ldanielsen Nybegynder
03. maj 2006 - 14:17 #1
Vil du bare have den sidst indtastede? Så er det:

SELECT TOP 1 * FROM tabel1 INNER JOIN tabel2 ON tabel1.id = tabel2.refid
ORDER BY tabel2.createdDate DESC
Avatar billede Søren Bech Morsing Praktikant
03. maj 2006 - 15:01 #2
tak ida, men så er problemet hvis jeg har 10 poster i tabel1
Hver post har 3 referencer i tabel2 (=30 poster). Jeg ønsker så kun 10 udfald, men den nyeste dato fra hver af de 10 i tabel2
Avatar billede ldanielsen Nybegynder
03. maj 2006 - 16:38 #3
OK

SELECT TOP 1 tabel1.id, tabel1.Andetfelt MAX(tabel2.createdDate)
FROM tabel1 INNER JOIN tabel2
ON tabel1.id = tabel2.refid
GROUP BY tabel1.id, tabel1.Andetfelt


Alle de felter du vil have med ud skal nævnes i SELECT og i GROUP BY (eller som createdDate hentes med en aggregate function)
Avatar billede Søren Bech Morsing Praktikant
04. maj 2006 - 07:50 #4
1000 tak - det virker perfekt (men ingen TOP 1 med, så får jeg jo kun én post)

Læg svar og god dag
Avatar billede ldanielsen Nybegynder
04. maj 2006 - 09:14 #5
Nå ja, TOP 1 skulle væk  ....
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
Computerworld tilbyder specialiserede kurser i database-management

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