MungoMedlem sedan jan. 2000372 inlägg Jäklar vad SQL snabbt blir svårt! :) Kanske nån här kan hjälpa mig att få fart på följande problem:
Jag har tre tabeller, en som innehåller ID på användare, en som innehåller ID på project och sen en som innehåller båda, för att koppla medlemmar till projekt.
Hänger du med så här långt? :)
Nu har jag frågan:
SELECT u.firstname AS firstname, u.lastname AS lastname, c.name as customerName, u.userID AS userID FROM Users_details u INNER JOIN Project_Members p ON u.UserID <> p.userID INNER JOIN Customers c ON u.CustomerId = c.id WHERE p.projectID = 65 ORDER BY c.name, u.lastname
Alltså vill jag få ut en lista på alla userID från users_details som INTE finns någonstans i project_members där projectID är 65.
Det som händer är att jag får ut lite för många svar. :) Om t.ex. projekt 65 har två medlemmar, id 1 och 2 så får jag ut 2 ex av alla som inte är id 1 eller 2 men dessutom EN av id 1 och 2. Hänger du med nu också? :)
Kanske ser nån vad som är fel i denna fråga och kan hjälpa mig att fixa till den, då skulle jag bli oerhört glad och tacksam!
LarsGMedlem sedan dec. 200012 464 inlägg SELECT u.firstname AS firstname,
u.lastname AS lastname,
c.name as customerName,
u.userID AS userID
FROM Users_details u INNER JOIN Customers c ON u.CustomerId = c.id
WHERE u.userid not in (select userid from project_members
where projectid = 65)
ORDER BY c.name, u.lastname
red: felaktigt kolumnnamn
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 09 nov 2001]
MungoMedlem sedan jan. 2000372 inlägg Ojdå, jag skulle visst ha sagt att det är mySQL jag använder också... IN verkar inte funka med mySQL nämligen. Därav dessa INNER JOIN klurigheter som jag egentligen inte kan nåt om...
LarsGMedlem sedan dec. 200012 464 inlägg Jo, det är relevant i sammanhanget då mysql inte har stöd för subselect.
SELECT u.firstname AS firstname,
u.lastname AS lastname,
c.name as customerName,
u.userID AS userID
FROM Users_details u INNER JOIN Customers c ON u.CustomerId = c.id
left join project_members p on c.userid = p.userid and p.projectid = 65
where p.userid is null
ORDER BY c.name, u.lastname
------------------
essentitia preter non sans multiplicandum
MungoMedlem sedan jan. 2000372 inlägg Japp! Funkar! 10000 tack för hjälpen!