我必须使用表格来获取通过公共单元格连接的所有结果。问题是第二个表只有第一个表的一些记录。
Table 1 forms
form_id, description, image,dept
Table 2 records
record_id, form_id, comments, added_date, done_date
如果做这样的查询:
SELECT * FROM form
JOIN records ON record.form_id = form.form_id
我没有获得所有表格,因为该表格没有记录。有没有做过这样的事情?我会在记录表中为每个表单创建一个空白记录,但我也无法解决这个问题。
答案 0 :(得分:2)
这是LEFT OUTER JOIN的完美应用。
示例:
SELECT f.*, r.*
FROM form f
LEFT JOIN records r
ON r.form_id = f.form_id
ORDER BY f.description, r.added_date;
答案 1 :(得分:0)
对这些情况使用左连接
SELECT * FROM form
LEFT JOIN records ON record.form_id = form.form_id
答案 2 :(得分:0)
请检查你需要哪一个 -
LEFT OUTER JOIN
:
将包括左侧表中提到的所有记录和右侧表中的匹配记录,未匹配的记录将为空
前:
SELECT *
FROM forms
LEFT JOIN records ON forms.form_id = record.form_id
FULL OUTER JOIN
:
将包括来自table和unmatched的所有数据都为null
前:
SELECT *
FROM forms
FULL OUTER JOIN records ON forms.form_id = record.form_id