一个想了两个星期都未解决的问题!!!
CREATE TABLE [dbo].[tbl_Bom] (-- 一个简单的BOM表
[DH] [varchar] (50) NOT NULL ,-- 产品代号
[LJDH] [varchar] (50) NULL ,-- 零件代号
[YL] [decimal](18, 5) NULL ,-- 标准用量
[DW] [varchar] (50) NULL ,-- 单位
[ZB] [smallint] NULL ,-- 栈别
[CPTR] [bit] NULL -- 是否有下一级
) ON [PRIMARY]
DH [LJDH] [YL] [DW] [ZB] [CPTR]
C010004B C010004B-1 1.00000 pcs NULL 1
C010004B C010004B-2 1.00000 pcs NULL 1
C010004B-1 B101520402000 .00250 pcs 1 0
C010004B-1 B101530232000 .00280 pcs 1 0
C010004B-2 B101260232000 .00320 pcs 1 0
我现在想得到
DH [LJDH] [YL] [DW] [ZB]
C010004B B101520402000 .00250 pcs 1
C010004B B101530232000 .00280 pcs 1
C010004B B101260232000 .00320 pcs 1
这个函数该如何写啊?
------解决方案-------------------- select b.dh,a.ljdh,a.yl,a.dw,a.zb
from tbl_Bom a left join tbl_Bom b on a.dh = b.ljdh
where b.dh is not null
------解决方案----------------------结果
C010004B B101520402000 .00250 pcs 1
C010004B B101530232000 .00280 pcs 1
C010004B B101260232000 .00320 pcs 1
------解决方案--------------------select DH=C010004B,LJDH,YL,DW,ZB
from tbl_Bom
where ZB is not null
行不
------解决方案--------------------如果层数未定,最好写个存储过程,在存储过程内使用游标