La consulta es esta:
SELECT id, pnombre, papellidop, correo FROM afiliado2 WHERE id not in (Select idusuario
FROM prueba
WHERE idevent=1)
Gracias a todos.


| |||
Hace unos años estuve trabajado con MySQL y si la memoria no me falla una de las limitaciones de MySql es que no admite select anidados, pensaba que en las ultimas versiones ya le habrian dado esta funcionalidad pero por lo que cuentas debe seguir sin admitirlos. Tienes 2 posible soluciones 1) Si no es ya demasiado tarde y pasate a postgreSQL 2) Hazlo en dos consultas primero la mas interna y con los resultados obtenidos la mas externa Un saludo Skelter |
| |||
El MySQL es una absoluta porquería (Según mi experiencia obviamente) No soporta select anidados, tendrás problemas más que serios con las fechas y no podrás hacer un simple "Count" porque te dará error. En definitiva ""Te vas a cagar por la pata abajo" Los servidores de hosting lo instalan porque es gratis, y más de un usuario hace publicidad diciendo que es lo mejor, pero amiguete, vete preparando a tener dolores de cabeza dia trás dia...eso es MySQL y quien te diga otra cosa, creo que tratará de venderte una moto de pedales... Para hacer esa consulta en la porquería del MySQL tienes que plantearla diferente. Prueba con LEFT JOIN "sustituyendo sentencia anidada" creo que eso si lo soporta... A ver si la porquería esa se estandariza de una vez que ya estamos en el siglo XXI
__________________ Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo... |
| |||
Debería ser algo así: "SELECT " & _ "afiliado2.id, " & _ "afiliado2.pnombre, " & _ "afiliado2.papellidop, " & _ "afiliado2.correo, " & _ "prueba.idusuario, " & _ " FROM (afiliado2 " & _ " LEFT JOIN prueba ON afiliado2.id <> prueba.idusuario) " & _ " where prueba.idevent<>1" prueba y me dices...
__________________ Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo... |
| |||
perdona el " where prueba.idevent<>1" deberia ser " where prueba.idevent=1" ya que quieres que tenga esa condición...
__________________ Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo... |
| ||||
Que crees, yomesmo, que ya me agarro la consulta, pero los resultados no son los correctos, osea no saca que lo que sacaba con la conjsulta que hacia en acces, ademas de que los datos que me devuelve a parte de ser incorrectos, son duplicados, sera por que la consulta dice otra cosa a la original? Espero tu respuesta. Gracias |
| |||
Prueba con este: "SELECT " & _ "afiliado2.id, " & _ "afiliado2.pnombre, " & _ "afiliado2.papellidop, " & _ "afiliado2.correo, " & _ "prueba.idusuario, " & _ " FROM (afiliado2 " & _ " where prueba.idevent<>1 AND afiliado2.id <> prueba.idusuario"
__________________ Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo... |
| |||
hola viejo En Mysql 4.1 SELECT * FROM table1 WHERE NOT EXISTS (SELECT id FROM table2 WHERE table1.id=table2.id); versiones inferiores SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id<>table2.id WHERE table2.id IS NULL pero tendrias que chequear tus tablas porque puede que tengas que insertar registros nulos. Salutes. ![]() |