小弟真诚求一条SQL语句,请各位大侠帮帮忙

小弟分不多,真诚请教大侠们一个SQL问题,希望大侠们不吝赐教,小弟在此不甚感激。
有一张表记录物料 如下:(10C是父物料,30C是10C的子物料【30C本身也是父物料】
70C是30C的子物料【70C本身也是父物料】)
ITEMPARENT_CD ITEMCHILD_CD BOM_SQ ……ITEMPARENT_CD是主键
  10CA0001 30CA0001 1
  10CA0001 065A0001 2
  10CA0001 085A0001 3
  30CA0001 70CA0001 4
  30CA0001 021A0001 5
  70CA0001 011A0001 6
现在要一条sql语句根据10C查询出所有他的子物料(同时加上一个等级Level字段)
效果如下:查询条件是10CA0001
Level ITEMCHILD_CD
  1 30CA0001
  2 70CA0001
  3 011A0001
  2 021A0001
  1 065A0001
  1 085A0001
真诚请教大侠们该怎么实现?
30秒到达战场
浏览 534回答 12
12回答

素胚勾勒不出你

不理解你的意思,  你是已经有表结构,只需一条sql语句.   还是说需要帮助你怎么设计.   如果你已经有表结构, 请把你建表的语句,以及测试数据编写好,这样有助于大家的理解,以便更好的帮助你. 但如果你是需要别人怎么帮你设计. 请把你的需求说明细点吧, 我还是没理解你的意思.

PIPIONE

不是要设计,就是想能用一条sql语句实现父子级的查询

DIEA

建一个表T_Wuliao,表结构和数据如下: Level  ITEMCHILD_CD  1     30CA0001  2     70CA0001  3     011A0001  2     021A0001  1     065A0001  1     085A0001 然后select * from T_Wuliao,结果100%就是你想要的。 赶紧给分。。。

斯蒂芬大帝

我已经解决了,谢谢您的帮助

慕雪6442864

帮你顶顶,期待sql语句达人登场。

青春有我

我这个已经实现了你要的功能好吗.别告诉我看不懂,

小怪兽爱吃肉

USE TEMPDBGOCREATE TABLE #TEMP(ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,PARENTID INT)INSERT INTO #TEMPVALUES(0),(1),(2),(3),(3),(2),(3),(2),(3),(2);WITH T AS( SELECT 1 AS [Level],* FROM #TEMP WHERE ID=3 UNION ALL SELECT CASE WHEN T.ID=T.PARENTID THEN T.Level ELSE T.Level+1 END AS [Level],A.* FROM #TEMP AS A INNER JOIN T ON A.PARENTID=T.ID)SELECT * FROM T 是这个意思吗?

小唯快跑啊

我的意思是就像树形结构一样

HUWWW

我写的难道不是树?你的那些命名太乱我没有看懂。要是树结构那么上面的代码改改就能用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server