SQL子查询插入错误
问题描述:
我试图插入一个值到表中,但基于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';
答
您的子查询没有名为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
和错误是什么?但是对于单个select语句你不能有两个'where'子句。 (而'insert'没有'where'部分) –
样本数据和期望的结果将阐明你想要做什么。 –