求助SQL BOM应该如何写?

asd613613 2014-05-29 08:58:15
SQL Server 2005
现在有如下三张表
SELECT * FROM dbo.ICBOM--主表,记录要商品信息
SELECT* FROM dbo.ICBOMChild--副表,记录主表商品须要哪些材料来制作,
SELECT * FROM dbo.t_ICItem --物料的详细信息,如果副表的材料的属性为2时,则重新查主表商品,
不知有什么方法写?
...全文
212 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
asd613613 2014-05-29
  • 打赏
  • 举报
回复
ICBOM表 FInterID内码 FBOMNumber--BOM单据号 FUseStatus--单据状态 FItemID--产品代码 FQty--数量 ICBOMChild 表 FEntryID明细内码 FInterID--内码 FItemID--产品明细 FAuxQty--数量 FQty--数量 t_ICItem表 FItemID --产品代码 FName--产品名称 FNumber--产品代码 FUnitID--单位 FErpClsID--展开标记--2为展开,1无展开
asd613613 2014-05-29
  • 打赏
  • 举报
回复
引用 1 楼 fredrickhu 的回复:
请给出表结构 是几层的BOM、两层的话就不用那么麻烦了。
SELECT a.FItemID,b.FItemID,b.FQty,b.FAuxQty,c.FErpClsID FROM dbo.ICBOM a
INNER JOIN dbo.ICBOMChild b ON a.FInterID=b.FInterID
LEFT JOIN dbo.t_ICItem c ON c.FItemID=b.FItemID
WHERE a.FInterID=1140
主商品 副表商品 须要的数量 商品信息 FItemID FItemID FQty FAuxQty FErpClsID ----------- ----------- --------------------------------------- --------------------------------------- ----------- 1876 988 1.0000000000 1.0000000000 1 1876 925 1.0000000000 1.0000000000 1 1876 1213 1.0000000000 1.0000000000 1 1876 1293 1.0000000000 1.0000000000 1 1876 405 1.0000000000 1.0000000000 1 1876 233 1.0000000000 1.0000000000 1 1876 1878 1.0000000000 1.0000000000 2 1876 1881 1.0000000000 1.0000000000 2 1876 1253 1.0000000000 1.0000000000 1
asd613613 2014-05-29
  • 打赏
  • 举报
回复
表结构如下 ICBOM。ICBOMChild相连。以FInterID关连 t_ICItem,ICBOMChild相连。以FInterID关连 就不知道有几层。听说可以用Cte来实现。不知具体方法。
--小F-- 2014-05-29
  • 打赏
  • 举报
回复
请给出表结构 是几层的BOM、两层的话就不用那么麻烦了。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧