mysql WHERE IN van OR naar AND
Ik gebruik nu dus een WHERE IN
Probleem is dat ze allemaal voor moeten komen dus i.p.v een OR een AND maken.
Wat is de makkelijste manier om dit te doen?
is gelijk aan
Daar kún je ipv OR natuurlijk AND van maken, en dat zal hij alle IDs geven van de records waarbij de kolom Test gelijktijdig de waarde 4 5 en 6 heeft.
Dat zijn over het algemeen erg weinig records (nul). Iets is niet gelijktijdig 4 en ook 5, laat staan dat het ook nog 6 is.
Dus misschien iets beter beschrijven wat je wilt.
Ivo P op 30/05/2023 14:57:11:
Dat zijn over het algemeen erg weinig records (nul). Iets is niet gelijktijdig 4 en ook 5, laat staan dat het ook nog 6 is.
Als je gewend bent met Yoda-condities te werken zou je nog wel een toepassing kunnen bedenken. Stel dat je de records wilt hebben waar veld1 en veld2 allebei de waarde 0 hebben. In plaats van
zou je dan ook dit kunnen doen:
Ik heb de operator in dit voorbeeld voor de duidelijkheid de naam INALL gegeven. En ik moet zeggen dat ik er zelf ook weinig nuttige toepassingen voor kan verzinnen, maar dit zou dus zo'n situatie kunnen zijn waarin het handig is als IN als AND werkt. Ik kan hooguit bedenken dat het een boel tikwerk scheelt als je van 20 velden wilt testen of ze allemaal dezelfde waarde hebben.
Gewijzigd op 04/06/2023 20:21:00 door Willem vp
Naar aanleiding van het leuke, maar nog niet bestaande INALL een paar werkende voorbeelden:
Code (php)
1
2
3
4
5
2
3
4
5
SELECT 0 = 1 = 2; -- resultaat 0
SELECT 2 = 1 = 0; -- resultaat 1
SELECT 0 = 1 = 2 = 3; -- resultaat 0
SELECT 3 = 2 = 1 = 0; -- resultaat 1
SELECT (0 = 1) = (2 = 3); -- resultaat 1
SELECT 2 = 1 = 0; -- resultaat 1
SELECT 0 = 1 = 2 = 3; -- resultaat 0
SELECT 3 = 2 = 1 = 0; -- resultaat 1
SELECT (0 = 1) = (2 = 3); -- resultaat 1
MySQL blijft verrassen.
Wat nog het meest in de buurt komt van een echt antwoord is de ALL operator.
https://dev.mysql.com/doc/refman/8.0/en/all-subqueries.html
Wat we inmiddels toch wel zouden moeten weten is dat Daniel een vraag stelt, en daarna nooit meer wat laat horen.