Comparer 2 tables

Fermé
John4834 Messages postés 94 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 22 juin 2011 - 23 août 2010 à 10:52
Alain_42 Messages postés 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 23 août 2010 à 19:53
Bonjour,

voici mon problème: j'ai 2 tables mysql. Dans ma première table j'ai un champ id. Celui-ci se retrouve dans ma seconde table en tant que clé externe (clé de liaison). Je voudrais faire une requête me permettant de scanner les id de ma table 1 et utiliser un echo dans le cas où cet id de la table 1 ne se retrouve pas dans ma table 2.

Merci de votre aide,
John


A voir également:

2 réponses

Alain_42 Messages postés 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 901
23 août 2010 à 18:25
avec la requette

SELECT * FROM t1 WHERE id NOT IN (SELECT id FROM t2);


ou

SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id
                                       WHERE table2.id IS NULL;
0
John4834 Messages postés 94 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 22 juin 2011 4
23 août 2010 à 19:37
Merci ca fonctionne!

$requete = $bdd->query('
SELECT DISTINCT * FROM actions
WHERE action_id NOT IN (SELECT action_id FROM archives);
');

while($donnees = $requete->fetch(PDO::FETCH_OBJ))
{
echo $donnees->action_nom.'<br/>';
}

Maintenant j'ai plusieurs fois le cas pour une même action. Comment je peux faie pour qu'il ne me l'affiche qu'une seule fois?

donc au lieu d'avoir:

45
89
78
56
23
45
89
78
56
23
...

je n'ai qu'une seule fois

45
89
78
56
23

?

Merci de votre aide
0
Alain_42 Messages postés 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 901
23 août 2010 à 19:53
il faut preciser sur quel champ doit avoir lieu le DISTINCT

SELECT DISTINCT action_id FROM 
0