bageraMedlem sedan jan. 2001126 inlägg Har en ganske bökig sql sträng som inner joinar 3 tabeller usertable, questiontable och responsetable på ett forum med olika användar nivåer,jag visar senaste inlägg eller fråga beroende på användare och vill inte ha dubletter.
finns det något sätt att använda select distinct när man hämtar data ur flera tabeller med hjälp av inner join?
det är alltså frågan som visas i slutänden.
sel ="SELECT DISTINCT responsetable.usertableid, questiontable.class, questiontable.subject, responsetable.responsetext, questiontable.questiontableid, responsetable.questiontableid FROM responsetable inner join questiontable on questiontable.questiontableid = responsetable.questiontableid where responsetable.usertableid ='"& vart &"' and questiontable.class ='"& level &"' or responsetable.usertableid ='"& vart &"' and questiontable.class ='"& level2 &"'or responsetable.usertableid ='"& vart &"' and questiontable.class ='"& level3 &"';"
Denna sträng visar ju samma fråga flera gånger om man svarat på sin egen fråga.
------------------
Mvh:
Johan
Små grodor är också grodor, men inte lika stora.
[Redigerat av bagera den 02 okt 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Det är nog group by du behöver. Nu är det lite svårt för mig att skriva frågan då jag inte känner till alla kolumner i dina tabeller.
sel ="SELECT responsetable.usertableid, questiontable.class, questiontable.subject, responsetable.responsetext, questiontable.questiontableid, responsetable.questiontableid FROM responsetable inner join questiontable on questiontable.questiontableid = responsetable.questiontableid where
responsetable.responsetableid in (
select max(responsetableid)
from responsetable inner join questiontable on questiontable.questiontableid = responsetable.questiontableid
where
responsetable.usertableid ='"& vart &"' and questiontable.class ='"& level &"' or responsetable.usertableid ='"& vart &"' and questiontable.class ='"& level2 &"'or responsetable.usertableid ='"& vart &"' and questiontable.class ='"& level3 &"' group by questiontable.questiontableid )
Dvs inom varje grupp med samma questiontableid i responsetable så tar man enbart det högsta responsetableid
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 03 okt 2001]
bageraMedlem sedan jan. 2001126 inlägg Lyckades lösa det till slut, verkar som det strulade bara för att jag döpt en av tabellerna till class.
Tack tack!
------------------
Mvh:
Johan
Små grodor är också grodor, men inte lika stora.