内部连接,如果不存在,则创建空列

时间:2016-03-30 09:36:02

标签: sql-server join

我正在制作4张桌子。这些表都包含有关路线的数据(IE: public class fil extends Activity { kelimeVeriTabani kelimeVeriTabani = new kelimeVeriTabani(); . . . TextView text = (TextView) layout.findViewById(R.id.text); // I set Random but // I want to regular. I do not find the code Random ran = new Random(); int i = ran.nextInt(kelimeVeriTabani.fil.length); text.setText(kelimeVeriTabani.fil[i][0] + " = " + kelimeVeriTabani.fil[i][1]); toast.show(); . . . FromTo)。 Distance可能包含5000行,Table1有2500行,Table2有3000行,Table3也有3000行。

我为所有表创建了 INNER JOIN 。但是,这会从Table4中排除数据,因为Table1有一个条目,但Table1.RouteId中可能不存在此数据。

我需要比较所有数据,如果Table2不在Table1.RouteId,那么它应该只填充Table2的列,如#34;不存在"或类似的东西,所以我可以看到Table2中缺少数据,但确实存在于其他地方。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:-2)

select * from A; 
select * from B; 
select * from C; 
select * from D; 

select * 
from A 
left join B on A.col1 = B.col1 
left join C on A.col1 = C.col1 
left join D on A.col1 = D.col1 
order by A.col1;

col1

1 
2 
3 
4 
5 

col1

2 
3 
4 

col1

1 
2 
3 

col1

3 
4 

col1  col1  col1  col1 

1     NULL  1     NULL 
2     2     2     NULL 
3     3     3     3 
4     4     NULL  4 
5     NULL  NULL  NULL 

希望这有帮助!