nillMedlem sedan okt. 2001387 inlägg Först har jag den här frågan:
SELECT oar.ID FROM oar INNER JOIN oar_users ON oar.ID = oar_users.vilkeno GROUP BY oar_users.vilkeno HAVING COUNT(oar_users.vilkeno) < 10
vars resultat ska föras ihop med en "inverterad version" (med nuvarande fråga får jag precis tvärtom de posterna jag vill ha), den här:
SELECT oar.ID FROM oar INNER JOIN oar_users ON oar.ID = oar_users.vilkeno GROUP BY oar.ID
Att sammanfoga dem skulle jag lite klumpigt kunna göra med temporary tables om det nu inte finnas något bättre sätt. Det jag inte ser någon lösning på är däremot "inverteringen". Har ingen aning om hur jag skulle kunna göra en fråga som får ett inverterat resultat. Så hjälp med andra ord.. :)
LarsGMedlem sedan dec. 200012 464 inlägg Det är enklare (i alla fall för mig) om du beskriver vilka tabeller du har, ger exempel på datainnehåll och vilket resultat du förväntar dig.
Din första fråga är egentligen ogiltig då du inte gör group by på id.
nillMedlem sedan okt. 2001387 inlägg den fungerar ivarjefall :)
tabell oar (lagrar öar)
ID |
tabell oar_users (lagrar vilka öar som tillhör vilka users)
ID | vilkeno
Vad jag vill göra är att få ut de öar som har mindre än 10 users på sig samt de med inga users alls på sig som resultat.
LarsGMedlem sedan dec. 200012 464 inlägg SELECT oar.ID
FROM oar left JOIN oar_users
ON oar.ID = oar_users.vilkeno
GROUP BY oar.id
HAVING COUNT(*) < 10
nillMedlem sedan okt. 2001387 inlägg *skäms*
Det var ju pinsamt lätt. Kanske har något med att göra att jag inte sovit på 35 h...
Tack så mycket