sql que no funciona
SELECT * FROM horas WHERE hora NOT IN (SELECT hora FROM reservas WHERE data='2004-10-27');
Esta consulta no va en la versi贸n 4.0.15 de mysql y si en la 4.1.5, 驴Alguien sabe por qu茅? 驴mysql 4.0.15 soporta consultas de pertenencia a conjunto, verdad?
Gracias de antemano.
Esta consulta no va en la versi贸n 4.0.15 de mysql y si en la 4.1.5, 驴Alguien sabe por qu茅? 驴mysql 4.0.15 soporta consultas de pertenencia a conjunto, verdad?
Gracias de antemano.
bueno, menos mal que ya he encontrado yo la soluci贸n. mysql 4.0.15 no soporta subconsultas. si quieres hacer una subconsulta, debes transformar la consulta de la siguiente forma:
<!--sacado del manual de mysql
You can often rewrite the query without a subquery:
SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);
This can be rewritten as:
SELECT table1.* FROM table1,table2 WHERE table1.id=table2.id;
The queries:
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);
SELECT * FROM table1 WHERE NOT EXISTS (SELECT id FROM table2
WHERE table1.id=table2.id);
Can be rewritten as:
SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id
WHERE table2.id IS NULL;
-->
<!--sacado del manual de mysql
You can often rewrite the query without a subquery:
SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);
This can be rewritten as:
SELECT table1.* FROM table1,table2 WHERE table1.id=table2.id;
The queries:
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);
SELECT * FROM table1 WHERE NOT EXISTS (SELECT id FROM table2
WHERE table1.id=table2.id);
Can be rewritten as:
SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id
WHERE table2.id IS NULL;
-->
