webForumDet fria alternativet

Case

4 svar · 357 visningar · startad av U2K

U2KMedlem sedan jan. 2000224 inlägg
#1

Varför fungerar inte detta.. Får enbart null.. Är ny på hur det går till med CASE och variabler.. någon som har en lösning?

SELECT M.omgang, case when R.hemma > R.borta then @tips = '1' when R.hemma < R.borta then @tips = '2' else @tips = 'X' end
FROM `k_matcher` AS M
LEFT JOIN k_resultat AS R ON R.match_id =
M.match_id
WHERE M.ser_id =5 and (M.home_id = 5 or M.away_id = 5)

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Vad vill du åstadkomma?

@tips = '1'

är detta tänkt som en variabeltilldelning?

U2KMedlem sedan jan. 2000224 inlägg
#3

Ja det var tänkt så. Jag vill helt enkelt åstakomma en lista som ser ut som följer.

Omgång Tips
1 X
2 2
3 1
4 1
...

LarsGMedlem sedan dec. 200012 464 inlägg
#4
SELECT M.omgang, case 
when R.hemma > R.borta then  '1' 
when R.hemma < R.borta then  '2'
when R.hemma = R.borta then 'X' 
  else '?' end as tips
FROM  k_matcher AS M
LEFT JOIN k_resultat AS R ON R.match_id =
M.match_id
WHERE M.ser_id =5 
and  5 in (M.home_id,M.away_id)

Om det inte finns något resultat för en match, vad vill du då skall hända?

U2KMedlem sedan jan. 2000224 inlägg
#5

Hmm

Om det inte finns något resultat skall det helt enkelt bara bli ett streck (-) i tips tabellen. Tack för koden. ska kolla närmare på den nu.

131 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
128 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)