2010-07-30 6 views
3

Comment puis-je comparer 2 champs dans 2 tableaux, trouver une correspondance et l'utiliser? exemple:Comparer 2 champs dans 2 tables et extraire des données

table1: data1 (id_data1, nom, adresse, téléphone, compte) table2: données2 (id_data2, nom2)

maintenant en php: if (name2.table2 a un nom correspondant au nom .table1) {me donner l'adresse, téléphone, compte}

+0

S'il vous plaît faire un exemple de la vie réelle. –

+0

c'est mon exemple de la vie réelle, exactement comme j'ai (table1, table2) – Bowr

+0

Vous devriez appeler vos tables quelque chose de plus descriptif - table1 et table2 sont de mauvais choix! –

Répondre

1

Je suppose que vous voulez utiliser JOINs

SELECT data FROM table1 INNER JOIN table2 ON table1.id=table2.id 

Il existe différents types de JOIN, lequel utiliser dépendra de ce que vous avez besoin. Voici une question sur visualizing les différents types de JOINs.

EDIT: Je crois que vous cherchez quelque chose comme ceci:

SELECT table1.name, phone, other_info_here 
FROM table1 AS t1 RIGHT JOIN table2 AS t2 ON t1.name=t2.name 
WHERE t1.name IS NOT NULL 
+0

cela ne fonctionne pas, il faut toujours id = 1 – Bowr

+0

Je ne suis pas sûr si je comprends votre question. Vous pouvez faire un JOIN sur n'importe quel champ, il ne doit pas être id. – NullUserException

+0

NE FONCTIONNE PAS: $ resultat = mysql_query ("SELECT * FROM table1 INNER JOIN table2 sur table1.name = table2.name2") car elle obtient toujours l'adresse, le téléphone, le compte du dernier enregistrement ID – Bowr