1
cxbig 2016-05-24 16:02:08 +08:00
这是个 single table inheritance ,这 SQL 的条件是 ptype 第 4 层 typeId 不等于 00006 的 GoodsStocks 数据
|
2
cxbig 2016-05-24 16:04:13 +08:00
这个 ptype 的表有没有 column 是记录层级的?如果有直接限定层级,就不用反复链表。
|
3
saulshao 2016-05-24 19:25:26 +08:00
kjy.dbo.ptype 这个表是个自关联的,用 ParId 指向当前行的父行。
左连接这么一大堆,是因为试图找出当前行的祖父或者曾祖父。 好吧,其实这样我觉得不好,还是递归逻辑更清晰。 |
4
LEFT 2016-05-24 23:16:39 +08:00 via iPhone
商品信息表通常喜欢这样干,猜测这个应该是类似商品大中小类的关系吧, ptype 存储的数据应该是类似分类关系,通过自连,小类找父级(中类),中类找父级(大类),不同的是你这里的层级更多。
|
5
dexterz 2016-05-24 23:59:54 +08:00
可以把这个查询拆分,用 CTE
|