astrolabbcracker
Messages postés106Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention11 juin 2012
-
2 mai 2008 à 00:03
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
2 mai 2008 à 10:51
bonjour et merci de lire ce message
j'ai 2 bases de données qui sont reliées par NOM et je voudrais sélectionner avec php les lignes absentes d'un côté et présente de l'autre : exemple
première table:
paul - foot -
joel - ping-pong
bruno - baskett
seconde table
paul - 33
bruno - 12
Comment sélectionner facilement dans cet exemple, la ligne joel - ping-pong ? Je ne sais pas par quel bout prendre le problème merci de votre aide .
gibozsec
Messages postés318Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention11 mars 2010 2 mai 2008 à 10:49
Bonjour,
Tu peux utiliser une sous requête qui te permettra de filtrer les résultats :
SELECT nom, sport FROM table1 WHERE nom NOT IN (SELECT DISTINCT(nom) FROM table2)
Tu peux aussi utiliser les jointures. Si tu join les deux tables sur le nom, la ligne 'joel' aurra un age à NULL. Si tu filtre sur ça, tu ne récupère que ce qui t'interesse :
SELECT t1.nom,t1.sport FROM table1 t1 LEFT JOIN table2 t2 ON t1.nom = t2.nom WHERE t2.age IS NULL
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 2 mai 2008 à 10:51
Hello,
ça va être compliqué en une seule requête d'aller chercher des 2 côtés je pense...
Là à 1ère vue, je vois 2 requête. La 1ère :
SELECT
t1.nom, t1.sport
FROM
table1 t1
WHERE NOT EXISTS (
SELECT * FROM table2 t2 WHERE t2.nom = t1.nom
)