我有2個表(客戶端和client_forms)。客戶端總是一個實例(因爲它涉及到一個人,但他們每年填寫一個表單(1 - 0.n)。我需要一個MySQL語句爲每個客戶端選擇所有表單,但我不確定如何做到這一點。它會使用某種嵌套查詢的?從一個表中選擇1條記錄,從另一個表中選擇0.n
0
A
回答
2
我建議你讀入JOIN
syntax。從本質上講,你得寫
SELECT *
FROM clients
[LEFT OUTER] JOIN client_forms ON [put the join condition here]
我不知道,如果你需要這成爲LEFT OUTER JOIN
(總是每個客戶端至少返回一條記錄)或INNER JOIN
(每個客戶端和表單返回一條記錄)
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
相關問題
- 1. 從一個表中選擇記錄
- 2. 根據條件從另一個表中選擇特定記錄
- 3. 從另一個表比較一個字段中選擇記錄
- 4. 從不在另一個表中的表中選擇記錄
- 5. 從表中選擇記錄,這不另一個表
- 6. 根據從另一個表中選擇的結果從一個表中選擇
- 7. 根據另一個表的列值從表中選擇一條記錄
- 8. 從另一個表中的列中選擇記錄等項目
- 9. 根據表B記錄從一個表中選擇記錄
- 10. 如何從一個表中存在另一個表中選擇記錄
- 11. SQL Server從另一個表中的一個表中選擇最高記錄
- 12. 從另一個表中選擇不在另一個表中
- 13. 選擇所有記錄從一個表,具體的記錄從另一個
- 14. 從表格中選擇最多n條記錄,每組最多一條記錄
- 15. 從同一表格中的每個類別中選擇前n條記錄
- 16. 從另一個表中選擇值
- 17. SQLite從一個表或從另一個表中選擇
- 18. 從一個表中選擇數據與另一個條件
- 19. 從一個表中選擇計數,從另一個列中選擇計數ORACLE
- 20. SQL:從另一個表中選擇對話GROUP BY與最後一條記錄
- 21. 從2表中選擇唯一記錄
- 22. 如何根據一對多關係選擇記錄並從一個表中不選擇另一個表?
- 23. MySQL從表1中選擇一行,從表3中選擇幾個
- 24. 從表中選擇多條記錄
- 25. 從一個表中選擇並插入另一個表中
- 26. 從2個表中選擇記錄
- 27. 從兩個表中選擇一個表
- 28. 從一個表中選擇所有行,從另一個表中選擇每個行的一個特定值
- 29. LINQ,從一個表中選擇一個項目,從另一個表中選擇多個項目
- 30. 從一個表中選擇所有字段,並從mysql中的另一個表中選擇一個字段
哪種類型的加盟使得1-0.n加入? –
LEFT OUTER JOIN,正如Lukas在他的詢問中提出的那樣。 –
您可能想要使用'LEFT OUTER JOIN',因爲您可能總是希望每個客戶端至少有一個結果記錄。您可以在手冊中找到更多信息 –