2016-09-18 62 views
-2

TABLE_1如何通过使用SQL

Id | name   
1 | abc    
2 | xyz  

TABLE_2

Id | name 
3 | sgha 
5 | dshhb 

获取从表中的数据我想从表中获取的所有数据1,我想的只是Id数据在表2 ..

预计输出

Id | name 
1 | abc 
2 | xyz 
3 | null 
5 | null 
+0

简单地使用连接 –

+0

灿您发布的查询 –

+0

标签垃圾邮件!为什么要求“Oracle”和标签与任何其他数据库系统? – Seelenvirtuose

回答

0
SELECT 
    COALESCE(Table_1.id, Table_2.id) AS id, Table_1.name 
from Table_1 
FULL OUTER JOIN Table2 
ON Table_1.id = Table2.id 

也许这将解决您的问题..

COALESCE功能这里

工作,请不要downvote的问题..

+0

Yaa ...所以通过使用coalesce,只有一个colume会显示两个表的数据(t1.id和t2.id) –

0

它只是JOINS这样的:

SELECT T1.id, T1.name, T2.id 
FROM table1 T1 JOIN table2 T2 
ON --T1.ID=T2.ID 

如果ID是一样的stablish的关系 - `

的情况下你不想要使用JOINS你可以这样做:

SELECT id,name FROM table1 
UNION 
SELECT id,name FROM table2 --if you want the two columns 
+0

我不比较table1.id = table2.id –

+0

Id匹配还是不是所有的细节都应该显示 –

+0

而我关于表2的id ...数据也应该显示出来......没有使用平衡opertor –

0

首先,您将在选择2个表中的2个字段时出现问题,但名称相同,但可以使用别名字段的相同字段名称(Id)。

Select 
Id = Table_1.Id, 
Name = Table_1.Name, 
Id2 = Table_2.Id 

From Table_1 
Inner Join Table_2 On Table_1.Id = Table_2.Id 
+0

如果你不想要介意你能探索我什么是内部连接和马力加入 –

+0

而如果id.table1不与id.table2匹配 –

+0

这不是一个正确的解决方案 – dhS