webForumDet fria alternativet

select i select

2 svar · 228 visningar · startad av daniel_ra

daniel_raMedlem sedan jan. 2002381 inlägg
#1

Nu har jag testat 100 gånger och får inte till det det handlar om en subquery

jag vill plocka ut närmsta, i tiden lediga datum.

Jag har en tabell som endast innehåller datum som är valbara. (tabell 1)

i en annan tabell har jag aktiviteter som är bokade vissa datum (tabell 2)

i båda tabellerna har jag ett datumfält.

Det jag vill göra är likt följande:

select min(datum) from tabell 1 where datum <> (select datum from tabell 2 where bokad = 1)

det fungerar ju sålänge som selecten från tabell 2 endast returnerar ett värde
men eftersom subfrågan returnerar flera datum så fungerar det ju inte

hur beter jag mig..? kan jag lösa det på liknande sätt eller kan jag göra på något annat sätt??

daniel_raMedlem sedan jan. 2002381 inlägg
#2

hmm verkar som om jag inte skall använda <> mellan selectsatserna utan "not in" om en subquery innehåller fler träffar, rätta mig om jag har fel

emissionMedlem sedan dec. 19996 721 inlägg
#3

daniel_ra skrev:

hmm verkar som om jag inte skall använda <> mellan selectsatserna utan "not in" om en subquery innehåller fler träffar, rätta mig om jag har fel

Det stämmer bra det!

Eller

select min(datum) from tabell1 t1 where not exists (select 1 from tabell2 t2 where t2.bokad = 1 and t1.datum=t2.datum)
129 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)