2016-06-14 97 views
0

我试图插入一个值到表中,但基于Webtype的值,但我收到错误。SQL子查询插入错误

INSERT INTO GS_WEBSITES_LIVE (THIS_MONTH) 
(SELECT 
    COUNT (DISTINCT LPL.SOLD_TO_CUSTOMER_KEY) AS THIS_MONTH 
FROM 
    BW_SHARE.LP_LIVE_MAY16 LPL  
WHERE 
    LPL.MATERIAL = 'ECOM' 
) 
WHERE WEBTYPE = 'WEB'; 
+0

和错误是什么?但是对于单个select语句你不能有两个'where'子句。 (而'insert'没有'where'部分) –

+0

样本数据和期望的结果将阐明你想要做什么。 –

回答

0

您的子查询没有名为WEBTYPE的列,这是导致错误的直接原因。所以,你可能希望这样的:

INSERT INTO GS_WEBSITES_LIVE (THIS_MONTH) 
    SELECT COUNT(DISTINCT LPL.SOLD_TO_CUSTOMER_KEY) AS THIS_MONTH 
    FROM BW_SHARE.LP_LIVE_MAY16 LPL  
    WHERE LPL.MATERIAL = 'ECOM' AND WEBTYPE = 'WEB'; 

不过,我怀疑你想要一个UPDATE

UPDATE GS_WEBSITES_LIVE 
    SET THIS_MONTH = (SELECT COUNT(DISTINCT LPL.SOLD_TO_CUSTOMER_KEY) AS THIS_MONTH 
         FROM BW_SHARE.LP_LIVE_MAY16 LPL  
         WHERE LPL.MATERIAL = 'ECOM' 
        ) 
    WHERE WEBTYPE = 'WEB'; 
+0

完美,谢谢大家的帮助,更新工作完美。 – Gavin