Avatar billede Lasse Novice
10. maj 2008 - 17:16 Der er 4 kommentarer og
1 løsning

Hjaelp til select

Jeg har to tabeller (t1 og t2) med 1(t1) til mange(t2) relation. Jeg kunne godt taenke mig at lave foelgende SQL saetning, men det virker ikke:

SELECT * FROM t1, (SELECT TOP 1 * FROM t2 WHERE t1.id = t2.id) WHERE t1.id = t2.id

Dvs. for hver t1 row, join een row fra t2.

Hvordan goeres dette?
Avatar billede arne_v Ekspert
10. maj 2008 - 18:45 #1
SELECT * FROM t1,t2 WHERE t1.id = t2.id AND "hvad der skal tests på for at sikre kun en række"

det fremgår ikke af spørgsmålet hvilken række i t2 der skal vælges hvis der er flete
Avatar billede Lasse Novice
10. maj 2008 - 19:46 #2
Et eksempel siger mere end 1000 ord:

t1:
id, kode
1 , p1
2 , a1

t2:
id, guid
1 , {D0749B36-42D1-402a-B162-00F2EA6464D0}
1 , {4C56C090-4883-44d3-A223-C29E7117B5AE}
2 , {4D66FFD0-92B3-4525-B0FA-45CA031AC24C}
2 , {B392B061-E351-4c63-8F59-F03AB05CE01E}
2 , {12E47E71-E453-4aa5-B65A-2303770299BB}

Det jeg vil have ud er:

p1, {D0749B36-42D1-402a-B162-00F2EA6464D0}
a1, {4D66FFD0-92B3-4525-B0FA-45CA031AC24C}

Hvordan kan jeg lave et filter paa t2????

Jeg har adgang til db'en. Jeg kan aendre dens tabeller og disses kolonner. Kraever det dette for at faa denne funktionalitet, er jeg villig til dette...
Avatar billede arne_v Ekspert
10. maj 2008 - 19:51 #3
Der er ikke noget i det der som angiver efter hvilket kriterie du vælger GUID.

SELECT t1.kode,MAX(t2.guid)
FROM t1,t2
WHERE t1.id=t2.id
GROUP BY t1.kode

vil hente den største guid
Avatar billede Lasse Novice
10. maj 2008 - 19:58 #4
arne_v>> great, jeg troede ikke min og max virkede paa strenge...

Mange tak, svar => point.
Avatar billede arne_v Ekspert
10. maj 2008 - 22:00 #5
Det gør de. Den bruger sorterings rækkefølge.

Og svar.
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