您的位置:首页 > 数据库

SQL--工作中遇到的

2016-01-25 15:16 393 查看
--递归查询产品分类

WITH    cte
AS ( SELECT   *
FROM     syn_Categories
WHERE    id = $CategoryID$
UNION ALL
SELECT   syn_Categories.*
FROM     cte aaa ,
syn_Categories
WHERE    aaa.id = syn_Categories.parentId
AND aaa.id != 0
)
SELECT  *
FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY a.SKU ) AS ROWID ,
a.* ,
ISNULL(d.NetStock, 0) AS NetStock,
c.SupplierCode
FROM      MVPProduct a
LEFT JOIN SupplyCommitment b ON a.SKU = b.SKU
LEFT JOIN (SELECT SKU, ID, NetStock FROM MVPStockUp WHERE ID IN (
SELECT MAX(ID) FROM MVPStockUp
GROUP BY SKU)) d ON a.SKU = d.SKU
AND (
$CategoryID$ = 0 OR (
CategoryID IN (
SELECT ID
FROM   cte
WHERE  ID NOT IN ( SELECT DISTINCT
( ParentId )
FROM
cte ))
))
LEFT JOIN SupplierSumMerchandise c ON b.SupplierID = c.SupplierID
WHERE  a.Status = 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: