aide pour un NOT IN sur un resultat d'une requete - SQL/NoSQL - Programmation
Marsh Posté le 15-03-2005 à 15:43:55
ça devrait très bien fonctionner...quelle est l'erreur?
Marsh Posté le 15-03-2005 à 15:47:23
avant de te repondre, voici ce que j'ai trouvé et qui m a aider:
Citation : Select all records from a table which do not share a common ID with records from a second table: |
apparemment donc, mysql ne gere pas ce genre de requete meme si c'est du SQL correct.
mieux vaux faire une jointure.
j'ai un resultat mais je serai incapable de verifier s'il est coherent
Marsh Posté le 15-03-2005 à 15:51:55
Les sous-requetes sont supportées par mysql depuis la 4.11 ou un numéro du genre...
Marsh Posté le 15-03-2005 à 15:57:59
tu voulais le message d'erreur, le voici:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id_membres
FROM grilles
) LIMIT 0, 30' at line 4
Citation : SELECT * |
pas tres explicite tout ca
Marsh Posté le 15-03-2005 à 16:01:45
Quelle version de mysql?
Marsh Posté le 15-03-2005 à 16:11:12
MySQL 4.0.23_Debian-7-log
on tiens peux etre quelque chose la
Marsh Posté le 15-03-2005 à 16:12:18
Citation : |
http://dev.mysql.com/doc/mysql/fr/ [...] ators.html
Marsh Posté le 15-03-2005 à 16:27:28
merci,
voila qui me rassure, on va faire autrement et surement demander une mise a jour de mysql
Marsh Posté le 16-03-2005 à 17:26:55
Essaye ça:
SELECT membres.* FROM membres
LEFT JOIN table ON table.id_membres = membres.id
WHERE table.id_membres IS NULL;
Le principe est de faire une jointure externe avec la table ou la ligne peut ne pas exister. Si la ligne n'existe pas, l'id_membres est mis à NULL par la jointure externe ...
Marsh Posté le 16-03-2005 à 18:10:17
c'est exactement ce que j'ai fait
en plus c'est plus rapide :
Citation : |
Marsh Posté le 15-03-2005 à 12:29:32
hello,
je sais pas si c'est possible ce que je demande mais je tente.
j'aimerai faire un select avec un NOT IN qui prendrai en parametre le resultat d'une requete:
SELECT * FROM `membres`
WHERE id
NOT IN (
SELECT id_membres
FROM table
WHERE condition
)
c'est possible ?
je precise que j'ai un message d'erreur de mysql mais peux etre qu'il faut modifier legerement pour que ca passe.
c'est pour ca que je fait appel a vous
Message édité par veryfree le 15-03-2005 à 12:30:57