
SQL如何查询出BOM清单信息,急急急!
用SQL写出语句(BOM清单)如下图:当FitemId=001时,将与BomId相等BomChild表信息列出,若列出的信息行中,在Bom表存在FitemId,则再其下方...
用SQL写出语句(BOM清单)如下图:
当FitemId=001时,将与BomId相等BomChild表信息列出,若列出的信息行中,在Bom表存在FitemId,则再其下方列出与BomId相等BomChild信息,显示的结果如下:
表1是全部显示,表2是去掉Bom中存在的信息,YFqty是原BOMChild的信息 ,Fqty是其上级的数量乘以原始用量 展开
当FitemId=001时,将与BomId相等BomChild表信息列出,若列出的信息行中,在Bom表存在FitemId,则再其下方列出与BomId相等BomChild信息,显示的结果如下:
表1是全部显示,表2是去掉Bom中存在的信息,YFqty是原BOMChild的信息 ,Fqty是其上级的数量乘以原始用量 展开
展开全部
select bomchild.fitemid,bomchild.YFfqy,bomchild.Fqty(我不知道这个值是怎么计算的,所以只能这么写在这里) from bom,bomchild where bom.bomid=bomchild.bomid and bom.fitemid <> bomchild.fitemid
如果FitemId=001是你输入的,那么就在后面加上一个 and bom.fitemid='001' 应该就行了。
如果不加那么得到的就应该是表2,去掉and bom.fitemid <> bomchild.fitemid 应该就是表1了。
如果FitemId=001是你输入的,那么就在后面加上一个 and bom.fitemid='001' 应该就行了。
如果不加那么得到的就应该是表2,去掉and bom.fitemid <> bomchild.fitemid 应该就是表1了。
追问
谢谢,不过达不到我的需求,我想实现,BomId相同的显示出来,同时表BomChild出现的FitemId若在表BOM里也存在FitemId时,再将标BOM中FitemId的BomId对应的BOmchild信息显示出来
追答
哦,明白了,
那就用union就行了
select bomchild.fitemid,bomchild.YFfqy,bomchild.Fqty(我不知道这个值是怎么计算的,所以只能这么写在这里) from bom,bomchild where bom.bomid=bomchild.bomid and bom.fitemid bomchild.fitemid
union all
select bom.fitemid,bomchild.YFfqy(这个值是从哪里来呢?你找找,这里我就这样写在这里了),bom.Ffqy from bom,bomchild where bom.fitemid=bomchild.fitemid
union上面取到的是在bomchild表中bomid存在于bom表,并且fitemid不存在与bom表中的值。
union 下面是在bom表中的fitemid存在于bomchild表中的数。

2025-03-05 广告
华天软件PDM近30年实施经验,服务客户数千家,功能完善,提高设计复用率,降低研发成本40%,实现跨部门信息共享+无纸化研发+缩短产品研发周期+降低成本,为企业构建数字化智能制造全面应用,打好坚实基础,加速企业数字化转型,更多资料详情咨询4...
点击进入详情页
本回答由华天软件提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |