0

2 つのテーブル (clients と client_forms) があります。クライアントは常に単一のインスタンスです (1 人の人物に関連していますが、毎年フォームに入力します (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これを(クライアントごとに常に少なくとも 1 つのレコードを返す) にする必要があるのか​​、INNER JOIN(クライアントとフォームごとに 1 つのレコードを返す) にする必要があるのか​​わかりません。

于 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 に答える