webForumDet fria alternativet

ologiskt SQL result

Databaser & SQL

7 svar · 364 visningar · startad av U2K

Medlem sedan jan. 2000224 inlägg
Frågan#1

Hej jag har en liten hemsida där jag presenterar alla matcher som mitt klubblag skall spela. Saken är den att jag vill visa äldre matcher också, där lagen har möts innan.

SELECT T.match_id AS mid, Concat(K.namn,' - ',F.namn) as VS, R.hemma, R.borta, T.datum 
FROM k_matcher AS T
LEFT JOIN k_klubbar AS K ON T.home_id = K.klubb_id
LEFT JOIN k_klubbar AS F ON T.away_id = F.klubb_id
LEFT JOIN k_resultat AS R ON T.match_id = R.match_id
WHERE T.spelad = 'Y' AND R.hemma IS NOT NULL AND R.borta IS NOT NULL AND ( T.home_id =$hemma AND T.away_id =$borta ) OR ( T.home_id =$borta AND T.away_id =$hemma ) 
ORDER  BY T.datum

Om jag i phpmyadmin kör denna sql sats så av någon anledning får jag detta resultatet..

mid => 123
VS => Nesse - Kalle
hemma=> 1
borta=> 2
datum=> Y-m-d- H:i:s

mid => 245
VS => Kalle - Nesse
hemma=> 1
borta=> 2
datum=> Y-m-d- H:i:s

mid => 356
VS => Nesse - Kalle
hemma=> NULL
borta=> NULL
datum=> Y-m-d- H:i:s

(För att klargöra, Y-m-d H:i:s är alltså ett datum i den riktiga resultatet)

Så här kan det se ut och borde väl inte bli... Sista posten är ju inte spelad (T.spelad är 'N' enum('Y','N')) och hemma och borta är NULL...

Varför blir det så här.. är det en bugg eller är jag ute och snurrar som vanligt.

Medlem sedan maj 20018 027 inlägg
#2

Frågan är vilken del av sql-satsen som where-villkoret verkar på. Är det hela satsen? Eller är det bara en delsats? I det andra fallet, kan matcherna med hemma=null och borta=null komma med i alla fall, därför att de selekteras av en annan delsats i sql-satsen.

Medlem sedan jan. 2000224 inlägg
#3

Where-villkoret syftar på hela satsen. Trodde jag iaf.
Kan man skriva om den och få bort null posten då?

/Ännu en Ulf

Medlem sedan jan. 2000224 inlägg
#4

Hittat felet

Glömde visst att sätta en parantes runt OR satsen.. *pinsamt*
Jag fixade det. Så nu fungerar den..
:)

Medlem sedan jan. 2000224 inlägg
#5

Flytta detta till ologiskt SQL... jag postade fel..

Medlem sedan maj 20018 027 inlägg
#6

U2K skrev:

Where-villkoret syftar på hela satsen. Trodde jag iaf.

Jag kan inte utesluta att den verkligen gör det. Men håll med om att satsen är rätt snårig, så det är svårt att se på rak arm. :)

Medlem sedan maj 20018 027 inlägg
#7

Syftade denna tråd: http://www.webforum.nu/showthread.php?s=&threadid=119273&forumid=53
på den här tråden?

Medlem sedan juni 200032 967 inlägg
#8

Trådar ihopslagna, och bugg i forumet funnen. ;)

"Rätt inlägg" går inte att acceptera som svar i denna ihopslagna tråd. Konstigt.

mvh
moderaten

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)