zoukankan      html  css  js  c++  java
  • MsSql “with”用法

    CREATE TABLE #PRODUCT(id INT,NAME1 NVARCHAR(10))
    CREATE TABLE #DATA_ATTRIBUTE_ABOUT_PRODUCT(id INT,type1 INT)
    CREATE TABLE #DATA_ATTRIBUTE(id INT,NAME1 NVARCHAR(10),name2 NVARCHAR(10))
    INSERT INTO #PRODUCT VALUES (1,'AAA')
    INSERT INTO #PRODUCT VALUES (2,'BBB')
    INSERT INTO #DATA_ATTRIBUTE_ABOUT_PRODUCT VALUES (1,1)
    INSERT INTO #DATA_ATTRIBUTE_ABOUT_PRODUCT VALUES (1,2)
    INSERT INTO #DATA_ATTRIBUTE_ABOUT_PRODUCT VALUES (1,3)
    INSERT INTO #DATA_ATTRIBUTE_ABOUT_PRODUCT VALUES (2,2)
    INSERT INTO #DATA_ATTRIBUTE_ABOUT_PRODUCT VALUES (2,3)
    
    INSERT INTO #DATA_ATTRIBUTE VALUES (1,'COUNT','500')
    INSERT INTO #DATA_ATTRIBUTE VALUES (2,'COLOR','RED')
    INSERT INTO #DATA_ATTRIBUTE VALUES (3,'SIZE','100*200');
    
    --SELECT a.ID,a.Name,MAX(CASE WHEN a.Name1='COUNT' then a.Name2 ELSE '' end) AS [COUNT]
    --,MAX(CASE WHEN a.Name1='COLOR' then a.Name2 ELSE '' end) AS [COLOR]
    --,MAX(CASE WHEN a.Name1='SIZE' then a.Name2 ELSE '' end) AS [SIZE]
    --FROM(
    --SELECT a.id,a.Name1 AS Name,c.Name1,c.name2
    --FROM #PRODUCT a
    --LEFT JOIN #DATA_ATTRIBUTE_ABOUT_PRODUCT b ON a.id = b.id
    --LEFT JOIN #DATA_ATTRIBUTE c ON b.type1=c.id
    --) a
    --GROUP BY a.id,a.NAME;
    
    WITH TEMPTable AS 
    (
    	SELECT a.id,a.Name1 AS Name,c.Name1,c.name2
    	FROM #PRODUCT a
    	LEFT JOIN #DATA_ATTRIBUTE_ABOUT_PRODUCT b ON a.id = b.id
    	LEFT JOIN #DATA_ATTRIBUTE c ON b.type1=c.id
    )
    SELECT a.ID,a.Name,MAX(CASE WHEN a.Name1='COUNT' then a.Name2 ELSE '' end) AS [COUNT]
    ,MAX(CASE WHEN a.Name1='COLOR' then a.Name2 ELSE '' end) AS [COLOR]
    ,MAX(CASE WHEN a.Name1='SIZE' then a.Name2 ELSE '' end) AS [SIZE]
    FROM TEMPTable a
    GROUP BY a.id,a.NAME
    
    
    DROP TABLE #PRODUCT
    DROP TABLE #DATA_ATTRIBUTE_ABOUT_PRODUCT
    DROP TABLE #DATA_ATTRIBUTE
    
  • 相关阅读:
    数值微分(数学)(组合数)
    破冰派对(搜索)
    [NOIP2017]宝藏
    [NOIP2013]华容道
    收集邮票(数学期望)
    序列(DP)(组合数)
    luogu1357花园(矩阵运算)(状压DP)
    游戏(期望)
    [NOIP2012]疫情控制
    [NOIP2012] 开车旅行
  • 原文地址:https://www.cnblogs.com/kinpauln/p/2055755.html
Copyright © 2011-2022 走看看