0

我有 2 个表(clients 和 client_forms)。客户端始终是单个实例(因为它与单个人有关,但他们每年填写一张表格(1 - 0.n)。我需要一个 MySQL 语句为每个客户端选择所有表格,但我不确定怎么做它会使用某种嵌套查询吗?

4

2 回答 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 回答