Hallo,
Ik ben al een paar uur aan het puzzelen met inner/outer en left en right joins. Misschien dat iemand mij de goede richting kan wijzen.
Ik heb 3 tabellen:
User:
- userid
Company:
- companyid
- companyname
UserCompany:
- companyid
- userid
Via deze tabellen kan ik gebruikers aan een bedrijf koppelen.
Nu wil ik via een query die bedrijv(en) tonen waarin de gebruiker1 NIET voorkomt.
User:
User1
User2
Company:
01; Bedrijf1
02; Bedrijf2
03; Bedrijf3
UserCompany:
01; User1
02; User1
01; User2
Het resultaat van de query zou moeten zijn:
03; Bedrijf3
Ik heb al van alles geprobeerd zoals:
Dit werkt goed zolang een gebruiker niet voorkomt bij alle bedrijven, maar als een gebruiker alle bedrijven heeft wordt er nog wel output gegenereerd voor eventuele andere gebruikers.
Iemand een tip?
Ik ben al een paar uur aan het puzzelen met inner/outer en left en right joins. Misschien dat iemand mij de goede richting kan wijzen.
Ik heb 3 tabellen:
User:
- userid
Company:
- companyid
- companyname
UserCompany:
- companyid
- userid
Via deze tabellen kan ik gebruikers aan een bedrijf koppelen.
Nu wil ik via een query die bedrijv(en) tonen waarin de gebruiker1 NIET voorkomt.
User:
User1
User2
Company:
01; Bedrijf1
02; Bedrijf2
03; Bedrijf3
UserCompany:
01; User1
02; User1
01; User2
Het resultaat van de query zou moeten zijn:
03; Bedrijf3
Ik heb al van alles geprobeerd zoals:
code:
1
2
3
4
5
6
| SELECT DISTINCT c.companyid, c.companyname FROM company c LEFT JOIN usercompany uc USING (companyid) WHERE (userid <> '$userid') OR (userid is null) ORDER BY companyid;"; |
Dit werkt goed zolang een gebruiker niet voorkomt bij alle bedrijven, maar als een gebruiker alle bedrijven heeft wordt er nog wel output gegenereerd voor eventuele andere gebruikers.
Iemand een tip?
Microsoft Surface Pro 6 | Samsung Galaxy S21FE | XBOX Series X