2015-12-09 222 views
-7

我有一个表像之下的柱(点击时它需要像名称,EmailAddress的那个对象的细节具有零和链接对象....)SQL语句连接

ID COUNTRY 
1  null 
2  null 
3  null 
4  2zlad9.6f 

我需要在同一个表上写入连接查询以获取“object.Name”来代替列的“对象”值,并且空值应保持相同。

当在同一个表上使用JOIN时,它只是给出具有空列的对象的列被忽略。

我需要的列的所有值像下面

ID COUNTRY 
1  null 
2  null 
3  null 
4  US 

我用像

Select p.ID, p.Country.Name 
from table1 p 
JOIN table1 p2 ON p.ID=p2.ID 

查询这只是给了我

ID Country 
4 US 
+5

请在发布之前花时间阅读您自己的问题。这个问题还不清楚。 – sstan

+1

样本数据,使用样本数据的预期结果以及您迄今为止尝试过的方法都是开始的好地方。 – xQbert

回答

1

Null代表什么。这不是一个价值,尽管它是缺乏价值的地标。如果您正在加入包含NULL值的列,那么这意味着没有任何内容可以从您的某个数据集返回,并且您应该看不到任何值。

如果你想看到一个完整的集加上从第二组的遗漏值考虑Outer Joins如:

Select t1.id, t1.value 
From table1 t1 
Left Join table2 t2 on t1.id = t2.id 

---编辑-----

这一点很重要了解你在加入时要问的问题。当你说选择从表格1加入表格2 ...你在说什么是我在table1中有一系列值,我想从表格2中撤回所有匹配。

确保您熟悉Intersection,DifferenceUnion的Set Theory概念。另外here是连接概念的可视化图表。标记为红色的所有内容都是指您要撤回的数据。