2012-12-04 101 views
2

我有两个表MySQL的加入返回null

Table_1 
id|subject_code|subject_id 
1|Test1  |1 
2|Test2  |2 
3|Test3  |3 

Table2 
id|subject_id|grade|status 
1|1   |5.00 |Fail 
2|3   |2.25 |Pass 

现在,我想创建一个查询,将返回以下,

Table3 
subject_code|grade|status 
Test1  |5.00 |Fail 
Test2  |NULL |NULL 
Test3  |2.25 |Pass 

我读过关于合并左连接和工会所有,但我迷失在如何做到这一点。 在此先感谢。

回答

4

尝试左连接,这样的:

Select 
DISTINCT(table1.subject_code), 
grade, 
status 

from table1 
LEFT join table2 on (table1.subject_id=table2.subject_id) 
+0

这会返回相同的行。 –

+0

编辑我的查询,现在检查 –

+0

谢谢http://sqlfiddle.com/#!2/cfbf8/1 –

4
SELECT subject_code, grade, status 
FROM Table_1 t1 
LEFT JOIN Table2 t2 ON t1.subject_id = t2.subject_id; 
+0

这会返回相同的行。 –

1

我想一个简单的LEFT JOIN会做的伎俩:

SELECT Table_1.subject_code, Table2.grade, Table2.status FROM Table_1 LEFT JOIN Table2 ON Table2.subject_id = Table_1.subject_id;

+0

这会返回相同的行。 –