J'ai un peu de hic concernant une requête SQL particulière. J'ai besoin de joindre des données à partir de deux tables, tout en limitant les données (mais pas nécessairement en les saisissant) au moyen d'une troisième table. Les tableaux sont les suivants:Besoin d'utiliser des critères de plusieurs tables pour acquérir des données à partir de plusieurs tables
MEMBERS(member_id,first_name,last_name)
MEMBERS_GROUPS(member_id,group_id)
CHARGES(charge_id,member_id,charge_amount,status)
Je dois trouver tous les frais pour tous les membres d'un groupe spécifique, mais je veux aussi saisir le prénom et le nom de la table MEMBRES. La requête que je suis venu avec à ce jour est:
select c.*, m.first_name, m.last_name
FROM charges c
LEFT JOIN member m
ON c.member_id=m.member_id
INNER JOIN members_groups mg
ON mg.group_id=1
j'ai aussi essayé:
SELECT c.*, m.first_name, m.last_name
FROM charges c, members_groups mg, member m
WHERE c.member_id=mg.member_id
AND mg.group_id = 1
AND c.status='Valid'
AND c.member_id = m.member_id
... mais ni renvoie les données j'ai besoin. Je suis sûr que je le pense trop, mais je ne peux pas pour la vie de moi obtenir les bonnes valeurs. Je continue d'obtenir ce qui semble être le produit cartésien - peu importe, il renvoie clairement trop de lignes et de mauvaises données.
* claques front * Totalement stupide. Mes requêtes d'origine ne fonctionnaient pas parce qu'il y avait plus d'être ajouté à eux plus bas dans la méthode. Longue histoire courte, ma requête "AND" étendue fonctionne - en plus de celle que vous venez de poster. Alors merci. –