[SQL] Requette compliquée ...

Requette compliquée ... [SQL] - PHP - Programmation

Marsh Posté le 28-12-2002 à 17:45:08    

Salut à tous
donc voila je recherche une requette peu courante,
j'ai cherché dans des bouquins et sur le net et j'ai pas reeussi a trouver ce qu'il me faut.
 
J'explique mon probleme
j'ai 2 tables
 
une table "membres" qui contient des pseudo et des adresses emails
et une table "action" dont chaque enregistrement contient le pseudo d'un membre + d'autres champs.
 
Donc normalement la table membres et la table action posséde exactement le meme nombre d'enregistrement.
Seulement une fois, il y a eu un problême et il y a un enregistrement de moins dans la table action.
Donc cela signifie que 1 membre présent dans la tables membres n'a pas d'enregistrement contenant son pseudo dans la table action.
 
Quelle requette puisje faire pour obtenir le pseudo de ce membre ?
 
Merci :)

Reply

Marsh Posté le 28-12-2002 à 17:45:08   

Reply

Marsh Posté le 28-12-2002 à 18:11:59    

C'est quoi comme base de données ?
 
En mysql tu peux faire :
 
SELECT membres.*
FROM membres
LEFT JOIN action ON action.pseudo = membres.pseudo
WHERE action.pseudo = NULL

Reply

Marsh Posté le 28-12-2002 à 18:19:18    

Merci beaucoup pour ta réponse
Oui c'est bien du mysql mais ta requette ne retourne aucun enregistrement, donc c'est pas exactement celle là qu'il me faut ;)
Peux tu la corriger stp ?
Merci merci :)

Reply

Marsh Posté le 28-12-2002 à 18:25:51    

Effectivement, ca doit pas marcher :pfff:  
 
Essaie plutot ca :
SELECT membres.*, action.pseudo as pseudo2
FROM membres
LEFT JOIN action ON action.pseudo = membres.pseudo
WHERE pseudo2 = NULL
 
(il faudra peut être remplacer la dernière ligne par :
HAVING pseudo2 = NULL)


Message édité par mrbebert le 28-12-2002 à 18:30:51
Reply

Marsh Posté le 28-12-2002 à 18:31:47    

J'ai du mettre HAVING pour que la requette puisse s'executer
Et ca ne marche toujours pas, aucun enregistrement est retourné !

Reply

Marsh Posté le 28-12-2002 à 18:36:19    

un left outer join c ptet mieux non ?

Reply

Marsh Posté le 28-12-2002 à 18:40:26    

Euhh non ca ne marche toujours pas

Reply

Marsh Posté le 28-12-2002 à 20:06:12    

HappyHarry a écrit :

un left outer join c ptet mieux non ?

Surement :)  
Je sais pas ce que c'est :D
 
Mais c'est bizarre qu'elle marche pas cette requête :heink:


Message édité par mrbebert le 28-12-2002 à 20:06:33
Reply

Marsh Posté le 28-12-2002 à 21:27:47    

Bin non je vous assure que ca marche pas !!!

Reply

Marsh Posté le 28-12-2002 à 23:03:17    

Essaye cette requête-ci :
 

SELECT t1.pseudo FROM membres AS t1 LEFT JOIN action AS t2 ON t1.pseudo = t2.pseudo WHERE t2.pseudo IS NULL


Reply

Marsh Posté le 28-12-2002 à 23:03:17   

Reply

Marsh Posté le 29-12-2002 à 17:08:52    

Merci core 666  
ca marche !
C'est toi le boss du SQL :)


Message édité par yoops le 29-12-2002 à 17:09:14
Reply

Marsh Posté le 29-12-2002 à 17:53:48    

oui, bon, "is NULL" ou "= NULL" spareil :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed