我有 2 个表(clients 和 client_forms)。客户端始终是单个实例(因为它与单个人有关,但他们每年填写一张表格(1 - 0.n)。我需要一个 MySQL 语句为每个客户端选择所有表格,但我不确定怎么做它会使用某种嵌套查询吗?
问问题
79 次
2 回答
2
我建议您阅读JOIN
语法。基本上你必须写
SELECT *
FROM clients
[LEFT OUTER] JOIN client_forms ON [put the join condition here]
我不确定您是否需要将其设为LEFT OUTER JOIN
(始终为每个客户返回至少一条记录)或INNER JOIN
(为每个客户和表单返回一条记录)
于 2012-05-14T13:52:02.653 回答
0
select
*
from
clients
join clent_forms on client_forms.client_id=clients.client_id
将返回所有客户端及其所有表单 - 假设client_id
两个表中都有一个列标识客户端。它不会返回没有表格的客户。
如果您还想要没有表格的客户,则需要outer
加入:
select
*
from
clients
left outer join clent_forms on client_forms.client_id=clients.client_id
于 2012-05-14T13:57:13.800 回答