Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在自联接中,删除具有相同ID的行_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 在自联接中,删除具有相同ID的行

Sql 在自联接中,删除具有相同ID的行,sql,sql-server,tsql,Sql,Sql Server,Tsql,我的密码 这是为了加入员工在创建信用文档引用时所犯的错误“链接”是将他们连接在一起的东西,但信用“文档引用”通常是相同的,但有时会创建2个拆分信用 我使用Doc_ref查看与之链接的任何退货。这就是我的困境 SELECT DISTINCT A.LINE_ID, CASE WHEN POSITIVE.Doc_Ref = B.Link AND A.Link = B.Link AND A.Doc_Ref != B.Doc_Ref AND A.Principal_Ref != B.Princi

我的密码

这是为了加入员工在创建信用文档引用时所犯的错误“链接”是将他们连接在一起的东西,但信用“文档引用”通常是相同的,但有时会创建2个拆分信用

我使用Doc_ref查看与之链接的任何退货。这就是我的困境

SELECT DISTINCT A.LINE_ID, CASE
    WHEN  POSITIVE.Doc_Ref = B.Link AND A.Link = B.Link AND A.Doc_Ref != B.Doc_Ref AND A.Principal_Ref != B.Principal_Ref AND A.Outlet_Name = B.Outlet_Name  THEN rtrim(A.[Doc_Ref]) + ' | ' + rtrim(B.[Doc_Ref]) 
    ELSE A.Doc_Ref
END AS Doc_Ref,
 A.Glue_Code, A.CCN_Name,  A.Doc_Date, A.Outlet_Code, A.Outlet_Name, 
A.Link, A.Principal_Ref

FROM NEGITIVE A, NEGITIVE B, POSITIVE WHERE A.Doc_Ref != B.Doc_Ref AND A.Link = B.Link  ORDER BY Doc_Ref
我的成绩

474 ABP0008918 | ABP0008919 GPT05610    PTA 2021-05-04  15078428 
474 ABP0008918 GPT05610    PTA 2021-05-04  15078428 
475 ABP0008919 | ABP0008918 GPT05610    PTA 2021-05-04  15078428 
475 ABP0008919 GPT05610    PTA 2021-05-04  15078428
我想看到的只是

474 ABP0008918 | ABP0008919 GPT05610    PTA 2021-05-04  15078428  
475 ABP0008918 | ABP0008919 GPT05610    PTA 2021-05-04  15078428                                                                                                                                                                                                                                        
请注意,查询完成后,Doc_Ref的外观必须相同


谢谢。

如果您能展示一下表格和内容,会有帮助的

但是,看起来您没有任何连接条件来产生笛卡尔连接

尝试在WHERE子句中添加“AND a.LINK=POSITIVE.Doc\u Ref”:

FROM NEGITIVE A, NEGITIVE B, POSITIVE 
WHERE A.Doc_Ref != B.Doc_Ref 
AND A.Link = B.Link 
AND A.LINK = POSITIVE.Doc_Ref
ORDER BY Doc_Ref    

发展任何人都不应该使用。