Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge
Misschien komt het omdat MySQL geen sub selects ondersteund.
Meanwhile, you can often rewrite the query without a sub-select:
This can be re-written as:
Uit de MySQL documentatie
code:
1
| SELECT * FROM table1 WHERE id IN (SELECT id FROM table2); |
This can be re-written as:
code:
1
| SELECT table1.* FROM table1,table2 WHERE table1.id=table2.id; |
Uit de MySQL documentatie
Als je het echt perse wel wilt kan je MySQL 4.nogwat gebruiken, maar die is op dit moment nog unstable denk ik. Nog ff w88 dus
bedankt metaal! En FvdLaar, ik wil NOT IN en niet IN ( ik heb het ook gelezen in de documentatie
)
Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge
Het ging mij om het idee. Gewoon een copy paste. Maar waarom denk je dat als het met een IN niet werkt, het met een NOT IN wel zou werken?
nee, ik bedoelde de andere optie, de herschrijving. die werkte niet.
Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge
Verwijderd
Herschrijving kun je aanpassen, i.p.v. = maak je er dan != van ofsow - check even de documentatie voor de juiste syntax - dan werkt het. MySQL ondersteunt idd (v.3) geen sub-query;s.
Nee. 'NOT IN' is niet zomaar te herschrijven naar een join.Op donderdag 08 november 2001 01:20 schreef wijnolst het volgende:
Herschrijving kun je aanpassen, i.p.v. = maak je er dan != van ofsow
En als je dus veel van dat soort (subselected queries) wilt gebruiken, kan je beter geen MySQL gebruiken. Subselects komen geloof ik pas in versie 4.1.xOp donderdag 08 november 2001 14:50 schreef Onno het volgende:
[..]
Nee. 'NOT IN' is niet zomaar te herschrijven naar een join.
Terwijl andere gratis DB's (zoals postgresql, sapdb, interbase) het wel al volledig ondersteunen.
Verwijderd
Voor het geval je php gebruikt: ik los NOT IN altijd alsvolgt op met php, als voorbeeld neem ik deze query:
SELECT * FROM TABLE1 WHERE ID NOT IN (SELECT ID FROM TABLE2)
Ik doe eerst de query SELECT ID FROM TABLE2 en alle ID's plaats ik in een array
vervolgens doe ik SELECT * FROM TABLE1
vervolgens kijk ik bij de verwerking van de query uitkomst met in_array(array) of elk id wel of niet in het table2 voorkomt.
SELECT * FROM TABLE1 WHERE ID NOT IN (SELECT ID FROM TABLE2)
Ik doe eerst de query SELECT ID FROM TABLE2 en alle ID's plaats ik in een array
vervolgens doe ik SELECT * FROM TABLE1
vervolgens kijk ik bij de verwerking van de query uitkomst met in_array(array) of elk id wel of niet in het table2 voorkomt.
Pagina: 1