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是其上级的数量乘以原始用量
展开
 我来答
longrenyingdc8ecb1
2014-08-29 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2481万
展开全部
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了。
追问
谢谢,不过达不到我的需求,我想实现,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... 点击进入详情页
本回答由华天软件提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式