Ik wil de volgende query uitvoeren om de volledige naam van een medewerker op te halen die een bepaalde mededeling op mijn intranet plaatst. Dat werkt ook met de volgende query:
Maar nu wil het geval dat sommige mensen twee loginnamen hebben, omdat ze bijvoorbeeld een administrator en een medewerker-account hebben. In dat geval staan er twee loginnamen in de medewerkers tabel en zou ik dus met LIKE willen zoeken. Het zou dan ongeveer dit moeten worden:
Maar dat werkt niet. Want ik kan wel LIKE gebruiken met een string, en zelfs wel met een kolom-naam maar dan niet met %-tekens. Dus de vraag is, hoe moet dat, en hoe is de syntax dan? Ik heb de voor de hand liggende dingen als '%'+medewerkers.loginnaam+'%', '%'&medewerkers.loginnaam&'%' allemaal geprobeerd en in de voorbeelden van LIKE in de MySQL documentatie gebruiken ze alleen maar strings. Iemand een idee?
code:
1
| SELECT mededelingen.titel, medewerkers.naam FROM mededelingen, medewerkers WHERE mededelingen.login = medewerkers.login ORDER BY mededelingen.uwhen DESC; |
Maar nu wil het geval dat sommige mensen twee loginnamen hebben, omdat ze bijvoorbeeld een administrator en een medewerker-account hebben. In dat geval staan er twee loginnamen in de medewerkers tabel en zou ik dus met LIKE willen zoeken. Het zou dan ongeveer dit moeten worden:
code:
1
| SELECT mededelingen.titel, medewerkers.naam FROM mededelingen, medewerkers WHERE mededelingen.login LIKE %medewerkers.login% ORDER BY mededelingen.uwhen DESC; |
Maar dat werkt niet. Want ik kan wel LIKE gebruiken met een string, en zelfs wel met een kolom-naam maar dan niet met %-tekens. Dus de vraag is, hoe moet dat, en hoe is de syntax dan? Ik heb de voor de hand liggende dingen als '%'+medewerkers.loginnaam+'%', '%'&medewerkers.loginnaam&'%' allemaal geprobeerd en in de voorbeelden van LIKE in de MySQL documentatie gebruiken ze alleen maar strings. Iemand een idee?