SQL连接复制我的数据
我尝试连接一些表,但在复制数据时遇到问题 代码如下:SQL连接复制我的数据,sql,duplicates,Sql,Duplicates,我尝试连接一些表,但在复制数据时遇到问题 代码如下: select distinct VB1ACC.AcctCode ,VB1ACC.AcctName ,VPKA.Projektnummer as Project ,VPKA.Cost ,VPKA.Revenue ,VJZ.TransID from ViewB1Accounts as VB1ACC left join ViewProjektPlanungKontenAktuell
select distinct
VB1ACC.AcctCode
,VB1ACC.AcctName
,VPKA.Projektnummer as Project
,VPKA.Cost
,VPKA.Revenue
,VJZ.TransID
from
ViewB1Accounts as VB1ACC
left join
ViewProjektPlanungKontenAktuell as VPKA
on
VB1ACC.AcctCode = VPKA.AcctCode
left join
ViewJeZeilen as VJZ
ON
VB1ACC.AcctCode = VJZ.ShortName
and
VPKA.Projektnummer = VJZ.Project
where
VPKA.Planungsversionstyp = 3
and
VB1ACC.AcctCode between '3210' and '3250'
or
VPKA.Planungsversionstyp = 3
and
VB1ACC.AcctCode between '8210' and '8250'
当我现在添加VJZ.TransID时,它开始将我的行复制为
“Projektnummer”不止一次出现
现在的目标是消除重复
有什么想法吗
更新:
正如您在记录中看到的,账户代码3212有23次。
原因I是字段Trans-ID。在下一张图片中,根据相同的项目和acctcode,您有不同的Trans-ID
现在如何防止复制?使用分组方式
按VB1ACC.AcctCode分组
,VB1ACC.AcctName
,VPKA.Projektnummer作为项目
,VPKA.Cost,VPKA.Revenue,VJZ.TransID
使用“复制”是否意味着要分组的行会多次显示?这些都有1个不同的值?如果是这样,请回答错误的问题,并根据该数据添加一些和预期输出。请您的问题-不要在评论中发布代码或附加信息。您使用的是哪种产品?博士后?神谕“SQL”只是一种查询语言,而不是特定数据库产品的名称。如果您得到了重复,那么您的连接的数量是一对多关系。在这种情况下,你必须找到一种方法,使之成为一对一的关系。方法取决于您的数据。此外,考虑在<<代码>中添加括号:子句;混合使用
和
以及或
而不使用括号很少能得到预期的结果(除非您非常熟悉规则)。