2

我必须要通过一个公共单元格获得两者连接的所有结果的表。问题是第二张表只有第一张表的一些记录。

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

我没有收到所有表格,因为该表格没有记录。有没有办法做这样的事情?我会为记录表中的每个表格创建一个空白记录,但我也无法弄清楚。

4

3 回答 3

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;
于 2012-05-29T20:55:26.303 回答
0

在这些情况下使用左连接

SELECT * FROM form
LEFT JOIN records ON record.form_id = form.form_id
于 2012-05-29T20:56:39.260 回答
0

请检查您需要哪一个 - LEFT OUTER JOIN:将包括左侧提到的表中的所有记录和右侧表中的匹配记录,未匹配的记录将为空

前任 :

SELECT * 
FROM forms
LEFT JOIN records ON  forms.form_id = record.form_id

FULL OUTER JOIN: 将包括两个表中的所有数据,不匹配的将为空

前任 :

SELECT * 
FROM forms
FULL OUTER JOIN records ON  forms.form_id = record.form_id
于 2012-05-29T21:16:28.880 回答