webForumDet fria alternativet

Hämta poster som har förra postens id i annan tabell (subquery)

Databaser & SQL

1 svar · 468 visningar · startad av phred

Medlem sedan nov. 2005314 inlägg
Frågan#1

Oj, svårt att beskriva i rubriken.

Här kommer sql-frågan i alla fall, detta är inte min starka sida men jag har kommit en bra bit på väg känns det som (alla tips mottages tacksamt)

string SQL = "SELECT L.ledtrID, L.ledtrText, L.ledtrNr, L.ledtrRelease," +
                        " (SELECT PL.ledtrID FROM tbl_ledtradar PL WHERE PL.skattjaktID=L.skattjaktID AND PL.ledtrNr=L.ledtrNr-1) AS lastLedtr," +
                        " (SELECT COUNT(*) FROM tbl_resultat R WHERE R.userMobile=? AND R.ledtrId=lastLedtr) AS svaratRatt" +
                        " FROM tbl_ledtradar L WHERE L.skattjaktID=? AND L.ledtrRelease <= Now() AND L.ledtrNr > 1 AND svaratRatt=1" +
                        " ORDER BY ledtrId DESC";

Jag vill alltså hämta ut ledtråden efter den senast besvarade.
nu får jag felmeddelandet (Unknown column 'svaratRatt' in 'where clause') på den sista AND svaratRatt=1 tar jag bort den så skriver den ut alla ledtrådar, vilket jag inte vill. jag har även provat att tabort den sista AND svaraRatt=1 och skriva ut svaraRatt i min repeater och den visar då rätt information.

Tacksam för svar

Medlem sedan nov. 2005314 inlägg
#2

Nu har jag fått veta att jag inte kan återanvända ett alias.
Fungerande kod:

string SQL = "SELECT L.ledtrID, L.ledtrText, L.ledtrNr, L.ledtrRelease," +
                        " (SELECT PL.ledtrID FROM tbl_ledtradar PL WHERE PL.skattjaktID=L.skattjaktID AND PL.ledtrNr=L.ledtrNr-1) AS lastLedtr" +
                        " FROM tbl_ledtradar L WHERE L.skattjaktID=? AND L.ledtrRelease <= Now() AND L.ledtrNr>1 AND (SELECT COUNT(*) FROM tbl_resultat R WHERE R.userID=? AND R.ledtrId=lastLedtr)>0" +
                        " ORDER BY L.ledtrId DESC";

Men som tidigare nämt, tar gärna emot tips på förbättringar/förändringar.

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)