我无法选择“案例”字段

时间:2018-08-23 15:17:51

标签: sql case

我无法选择一个字段,需要帮助。

WHEN dpav.isprimary = 1
THEN ct.accountnum
ELSE concat (ct.accountnum,'_',dpav.zipcode) 
END 'Customeraccount'

FROM 子句之前,我要再次选择大小写子句(Customeraccount)

case 
when DeliveryAddresses <> '' or ct.INVOICEACCOUNT = '' then 'Yes' 
when DeliveryAddresses <> '' or ct.INVOICEACCOUNT = '' 
 and Customeraccount LIKE '%[_]%' then 'No'
else 'No' 
end 'KeyAccount'

我尝试使用引号(“ Customeraccount”),但没有用。

1 个答案:

答案 0 :(得分:0)

不能在定义别名的同一选择中使用列别名。

仍然可以按以下方式更新您的条件,它将为您提供所需的输出。

case 
when (DeliveryAddresses <> '' or ct.INVOICEACCOUNT = '') and dpav.isprimary = 1 then 'Yes'
when DeliveryAddresses <> '' or ct.INVOICEACCOUNT = '' then 'No'
else 'No' 
end 'KeyAccount'

即使省略第二名,克劳斯也可以正常工作。

case 
when (DeliveryAddresses <> '' or ct.INVOICEACCOUNT = '') and dpav.isprimary = 1 then 'Yes'
else 'No' 
end 'KeyAccount'