SELECT *
FROM p5027_cfg_questions as q
WHERE sgid IN (
SELECT MAX(sgid)
FROM p5027_cfg_questions
WHERE qid = q.qid
)
AND (active = 1)
ORDER BY qid
Tjenare,
Jag har ett lite klurigt problem:
Jag har ett antal poster. Jag har frågenummer (qid), och ett gruppnummer (sgid, default värde: -1). I de flesta fall är qid unikt, men det finns fall där qid dubblas, i dessa fall har sgid ett nytt (högre än -1) nummer (t.ex 10 i detta fallet).
I dessa fall vill jag bara ha med den posten som har sgid=10, den med sgid=-1 skall inte vara med.
Nu har jag denna koden, men problemet är såklart att jag inte kan använda max(id) eftersom det är en autoincrementerande kolumn, och posterna läggs inte alltid till i rätt ordning.
Nuvarande kod:
SELECT *
FROM p5027_cfg_questions
WHERE (id IN
(SELECT MAX(id)
FROM p5027_cfg_questions
WHERE sgid IN (- 1, 10)
GROUP BY qid)) AND (active = 1)
ORDER BY qid
Jag förklarar gärna närmare om det är oklart... :)
Mvh, Vide

