Jag har en SQL-sats som jag vill köra en CASE-sats i men får inte till det... Din användning av CASE ser skum ut, borde det inte snarare vara typ <code> Nu har jag provat denna oxå men jag får fortfarande inte ut omvandlingen om fldReferensId = 0... provade även med NULL om MySQL visar 0 fast det är NULL... Nå, testa detta då. Om detta inte fungerar är det svårt att säga när vi inte vet vad du har för data och tabeller. SELECT fldHeadline, (CASE WHEN fldReferensId = 0 THEN fldThredID ELSE fldRefernesID END) AS fldReferensId FROM tblForum GROUP BY fldRefernesId LIMIT 40 Tack Per... Du fick mig att tänka på en sak och jag tror att det har löst mitt problem... :)CASE i SQL-sats...
tblForum
fldThreadId
fldReferensId
fldHeadline
o.s.v.
fldRefernesId = 0 om det är en huvudtråd... fldReferensId = svar på fldThredID så är det över siffran 0 så är det ett svar...
Detta skulle jag vilja göra men får inte till det...
SELECT fldHeadline, (CASE WHEN fldReferensId = 0 THEN fldRefernesId = fldThredID ELSE fldRefernesID = fldRefernesID END) FROM tblForum GROUP BY fldRefernesId LIMIT 40
Om fldrefernsId = 0 så vill jag att den ärver fldThreadID... så att jag kan gruppera på "fldReferensId"... I framtiden när tid finns så ska jag se om jag inte kan göra om databasen så att den sparar ner flThreadId och fldReferensId som samma värde så att jag slipper denna CASE-sats... Sv: CASE i SQL-sats...
SELECT fldHeadline, fldReferensId=(CASE WHEN fldReferensId = 0 THEN fldThredID ELSE fldRefernesID END) FROM tblForum GROUP BY fldRefernesId LIMIT 40
?
Sv: CASE i SQL-sats...
SELECT fldHeadline, CASE WHEN fldReferensId = 0 THEN fldThredID ELSE fldRefernesID END fldReferensId FROM tblForum GROUP BY fldRefernesId LIMIT 40
</code>Sv:CASE i SQL-sats...
Sv: CASE i SQL-sats...
<code>
SELECT fldHeadline, CASE WHEN IFNULL(fldReferensId, 0) = 0 THEN fldThredID ELSE fldRefernesID END fldReferensId FROM tblForum GROUP BY CASE WHEN IFNULL(fldReferensId, 0) = 0 THEN fldThredID ELSE fldRefernesID END LIMIT 40
</code>Sv: CASE i SQL-sats...
Sv:CASE i SQL-sats...
SELECT fldHeadline, (CASE WHEN fldReferensId = 0 THEN fldThredID ELSE fldRefernesID END) AS fldReferensIndex FROM tblForum GROUP BY fldRefernesIndex LIMIT 40
Jag kan i mitt fall inte stoppa in ett värde i "fldReferensId" men däremot så kan jag skapa mig ett nytt fält "fldRefernesIndex" utefter det som står i "fldRefernesId" som jag grupperar på...
Tack Tomas och Thomas för att ni provade att hjälpa mig...