如何解决如何计算表交易中遗漏的零件以及表零件中存在的零件?
我在sql server 2012上工作,我遇到的问题是我无法从交易代码表中丢失零件,并且存在于表零件中。
首先,我在表格搜索数据上上传plid和codetypeid数据。
第二次,我基于plid从表部件中获取了相关部件。
第三,我从表贸易代码中丢失了零件。
意味着我需要让零件存在于表零件上并且与表搜索数据相关,而在表交易代码上不存在
数据样本:
create table #searchdata
(
plid int,codetypeid int
)
insert into #searchdata
(plid,codetypeid)
values
(84459,877490)
create table #parts
(
partid int,plid int
)
insert into #parts(partid,plid)
values
(758901,84459),(808091,(509030,(7090321,(32453,(45563,84459)
create table #tradecode
(
partid int,codetypeid int
)
insert into #tradecode(partid,codetypeid)
values
(758901,877490),877490)
select p.plid,s.codetypeid,count(p.partid) as countmissingParts
from #parts p
inner join #searchdata s on s.plid=p.plid
left join #tradecode t on t.codetypeid=s.codetypeid
where t.partid is null
group by p.plid,s.codetypeid
drop table #searchdata
drop table #parts
drop table #tradecode
我尝试什么:
select p.plid,count(p.partid) as countmissingParts
from #parts p
inner join #searchdata s on s.plid=p.plid
left join #tradecode t on t.partid=s.plid
where t.partid is null
group by p.plid,s.codetypeid
预期结果
plid codetypeid countmissingParts
84459 877490 4
解决方法
您在查询的内容上非常接近...尝试一下。您的LEFT JOIN
,您已加入partid
和plid
...应该已经加入p.partid=t.partid
select p.plid,s.codetypeid,count(p.partid) as countmissingParts
from #parts p
inner join #searchdata s on s.plid=p.plid
left join #tradecode t on p.partid=t.partid
where t.partid is null
group by p.plid,s.codetypeid
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。