Waarde ophalen afhankelijk van ander record.
SELECT iets
FROM tabel
WHERE veld1='waarde1'
maar dan mag een ander record in dezelfde tabel geen
veld2='waarde2'
hebben.
Code (php)
1
2
3
4
5
2
3
4
5
SELECT a.iets
FROM tabel a
LEFT JOIN tabel b ON b.id = xxx
WHERE a.veld1='waarde1'
AND b.veld2 <> 'waarde2'
FROM tabel a
LEFT JOIN tabel b ON b.id = xxx
WHERE a.veld1='waarde1'
AND b.veld2 <> 'waarde2'
De selectie die ik dus niet weet op dit moment betreft dat wat in de ON clause van de JOIN staat.
SELECT iets
FROM tabel
WHERE veld1='waarde1'
AND (SELECT iets FROM tabel WHERE veld1='waarde2' AND veld2<>'waarde2')
Bedankt voor het meedenken.
Die if()-pagina van Koen ga ik even goed bekijken want er valt nog wel wat te verbeteren.
SanThe.
Ik vraag me alleen af wat jij nu doet of het werkt. Heb je dat getest?
Die query werkt maar voldoet niet aan wat ik zocht. Ik heb het nu opgelost met twee query's en dat werkt exact zoals ik wil. Het staat in een stukje code dat zeer zelden wordt gebruikt dus een query meer maakt daar niet echt uit.
Gewijzigd op 25/09/2013 20:20:22 door Aad B
Als we het over mysql hebben is een WHERE NOT EXISTS subquery nooit de aangewezen oplossing!!
En met zeer grote databases ga je zeker geen mysql gebruiken.
Ger van Steenderen op 25/09/2013 21:58:30:
Ik moet inderdaad bekennen dat ik weinig mysql gebruik. Ik gebruik WHERE NOT EXISTS veelvuldig, indien nodig, in Oracle(11G) Echter ook in MySQL kan een WHERE NOT EXISTS efficient werken wanneer het 'gezochte dat niet mag bestaan' een geindexeerde column is en dan bij voorkeur een unique indexed, toch? Ik ben benieuwd waarom je van mening bent dat het in MySQL echt niet kan.Jammer maar helaas.
Als we het over mysql hebben is een WHERE NOT EXISTS subquery nooit de aangewezen oplossing!!
En met zeer grote databases ga je zeker geen mysql gebruiken.
Als we het over mysql hebben is een WHERE NOT EXISTS subquery nooit de aangewezen oplossing!!
En met zeer grote databases ga je zeker geen mysql gebruiken.
Gewijzigd op 26/09/2013 15:51:17 door Aad B
Maar het is wel MySQL specifiek, want ook in SQL Server kan je zonder probleem (is zelfs beter) NOT EXISTS subqueries toepassen.
Daarom mag er ook wel spastisch gedaan worden over subqueries, ik vermijd ze daar waar mogelijk
@Ger, dank voor je toelichting. Weer wat geleerd over MySQL
Toevoeging op 26/09/2013 20:38:55:
En mogen we dit stukje code dan ook zien ? -)
Oeps...time out !
Gewijzigd op 26/09/2013 20:39:50 door dendeze ikke