还有更多代码,但我正在努力遵守我的工作规则。
我正在尝试使用这样的CASE语句:
INSERT INTO PRODUCTS
SELECT DISTINCT IM.EDPNO
, IM.ITEMNO
, IM.DESCRIPTION
, SUBSTRING(EX.REFITEMNO,6,20) AS UPC_CODE
, IM.VENDORNO
, CONCAT(VAR_STORE_URL,VAR_DETAIL_URL,RTRIM(IM.ITEMNO)) AS URL
SELECT CASE DIVISION WHEN 'C4' OR 'J3' THEN
,CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg')
End AS IMAGE_URL;
然后我想我会用另一个Select Case来跟进它,在那里我会从Lookup表中获取图像而不是concating。
答案 0 :(得分:1)
, CONCAT(VAR_STORE_URL,VAR_DETAIL_URL,RTRIM(IM.ITEMNO)) AS URL
SELECT CASE DIVISION WHEN 'C4' OR 'J3' THEN
,CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg')
End AS IMAGE_URL
需要
, CONCAT(VAR_STORE_URL,VAR_DETAIL_URL,RTRIM(IM.ITEMNO)) AS URL
, CASE WHEN DIVISION IN ('C4', 'J3') THEN
CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg') END AS IMAGE_URL
您在URL
之后缺少逗号,不应该使用SELECT
语句中的前导SELECT
,而您不能拥有OR
使用CASE
表达式的简单形式时。
答案 1 :(得分:0)
我认为这有效:
SELECT CASE DIVISION WHEN 'C4' OR 'J3' THEN CONCAT(VAR_STORE_URL,VAR_IMAGE_URL,IM.EDPNO,'.jpg') End AS IMAGE_URL