2013-07-12 126 views
-3

i相查询挣扎:查询溶液SQL

select bl.REF_CORP_ID as [Dept id] , bl.REF_CORE_BUDGET_ID, rc.Col_1 , bl.SubmittedDate as [Created Date time] , bl.APPROVED_BY , bl.APPROVED_DATETIME , bl.APPROVAL_FROM 
from TABLE1 bl right join TABLE2 rc on bl.REF_CORP_ID =rc.ref_corp_id AND bl.REF_CORE_BUDGET_ID =1 
group by bl.REF_CORP_ID , REF_CORE_BUDGET_ID , Col_1 , SubmittedDate , APPROVED_BY , APPROVED_DATETIME , APPROVAL_FROM 

结果在下面的方式:

1 1 IT 2013-07-10 19:29:40.700 
1 1 IT 2013-07-10 19:29:40.700 
2 1 Sales NULL 
2 1 Sales NULL 
4 1 HR 2013-07-10 19:32:21.720 
4 1 HR 2013-07-10 19:32:21.720 
6 1 management 2013-07-10 20:24:29.890 

但这是AI想:

1 1 IT 2013-07-10 19:29:40.700 
2 1 Sales NULL 
4 1 HR 2013-07-10 19:32:21.720 
6 1 management 2013-07-10 20:24:29.890 

我有两个表中,我应用内连接,但在一个表中有相同的记录,第二个表只有部门名称与部门名称

+2

我们可以看*产生这个输出的查询吗? (我们也可能需要知道它引用的表的内容) –

+1

显示查询,表结构 – Justin

+0

到目前为止你有什么累了? – Parado

回答

2

原油解决这个问题是添加关键字DISTINCT

SELECT DISTINCT a,b,c,d 

,这将删除它们确切重复行。但是,重复的行几乎总是查询中其他位置的逻辑错误的标志 - 最好修复此问题,而不是仅使用DISTINCT退避事件。