2010-11-30 3 views
0

J'ai besoin d'écrire une requête, mais je suis un débutant pour écrire des requêtes qui impliquent 2 tables.PHP/MySQL - Besoin d'aide avec une simple requête

la première table 'clients' a les colonnes suivantes "id, archive_reason, name, phone" .. la deuxième table, 'archive' a les colonnes suivantes "id, archive_reason". Ce que je dois faire est obtenir la raison d'archivage basée sur l'archive_reason dans la table de clients si cela a du sens ... et ensuite renvoyer * de la table de clients, y compris la raison d'archivage de la table d'arhive.

Cheers,

Répondre

1
SELECT clients.*, archive.archive_reason FROM clients, archive WHERE clients.id=archive.id; 

Est-ce ce que vous demandiez?

Ceci est appelé JOIN, et il y a beaucoup plus (et mieux) façons de le faire:

http://www.w3schools.com/Sql/sql_join.asp

http://www.databasedev.co.uk/query_joins.html

+0

C'est ce que j'ai à ce jour - SELECT * FROM clients WHERE archive = 1 .... Ce que je dois ajouter à ceci est 'get archive_reason de l'archive où id = clients.archive_reason .... J'espère que cela a plus de sens à ce que je cherche – Chris

+0

Vous n'avez pas de domaine nommé archive, seulement une table ... alors ce que vous demandez n'est pas vraiment clair. Pouvez-vous nous donner une vue d'ensemble de ce que vous essayez d'accomplir pour que nous puissions donner de meilleurs conseils? Plus précisément, il serait bon de savoir ce qu'il y a dans ces tableaux. – Brad

+0

Désolé ... Ces querys font vraiment ma tête nager .... Ok. Les 2 tables 'clients' et 'archive' .... dans la table des clients j'ai id, archive_reason, nom, téléphone ... dans la table d'archivage j'ai l'id suivant, archive_reason ... Le archive.archive_reason est ce que j'ai besoin d'obtenir de la table d'archives, la relation entre les 2 tables est clients.archive_reason et archive.id ... quand elle trouve celle-là cela correspond, il retourne le archive.archive_reason et toutes les données de la table de signes ... im désolé si son confus – Chris