是否可以使用选择的结果作为字符串与其他选择中列名中的另一个字符串连接?
Example:
SELECT brand
FROM articles a
WHERE a.id='12345678'
结果:BRAND_A
我现在想要连接_PRICE
to BRAND_A
...
SELECT (
SELECT brand
FROM articles a
WHERE a.id = '12345678'
) + "_PRICE"
FROM prices p
WHERE p.id = '12345678'
...实际检索:
SELECT BRAND_A_PRICE
FROM prices p
WHERE p.id = '12345678'
您不需要动态 SQL 来执行此操作(如果可能的话,应避免使用动态 SQL)。相反,您可以使用 CASE 语句。您可以使用一条语句来完成此操作,但出于显示目的,我已将其分开:
DECLARE @brand VARCHAR(100) = (SELECT brand FROM articles a WHERE a.id='12345678')
SELECT CASE @brand
WHEN 'BRAND_A' THEN BRAND_A_PRICE
WHEN 'BRAND_B' THEN BRAND_B_PRICE
WHEN 'BRAND_C' THEN BRAND_C_PRICE
ELSE 0 END AS PRICE
FROM prices
WHERE id='12345678'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)