Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我可以使用名称引用我想要的字段吗?_Sql_Sql Server - Fatal编程技术网

Sql 我可以使用名称引用我想要的字段吗?

Sql 我可以使用名称引用我想要的字段吗?,sql,sql-server,Sql,Sql Server,让我在这里进一步阐述。我对SQL不是很在行。在下面的查询中,我提取代码名。每个代码名都是唯一的。例如,“87507”指的是“电子学”。运行查询时,是否可以用表中的名称替换实际数字 Select Distinct CLM_CC9 From Impact.dbo.tbl_cld Where CLM_CC9 in ('8203','34004','86754','87507', '8759','8523','8526','8552','8761','8562','8778','8587','7588'

让我在这里进一步阐述。我对SQL不是很在行。在下面的查询中,我提取代码名。每个代码名都是唯一的。例如,“87507”指的是“电子学”。运行查询时,是否可以用表中的名称替换实际数字

Select Distinct CLM_CC9
From Impact.dbo.tbl_cld
Where CLM_CC9 in ('8203','34004','86754','87507',
'8759','8523','8526','8552','8761','8562','8778','8587','7588',
'8759','8790','8594','8796','8701','8607','8713','8616','8617',
'8718','8619','87620','8621','8764','7628','8629','7631','8632',
'833','8734','8635','8736','7637','8738','8639','7640','8641','896    08') 
order by CLM_CC9
试过这个…运气不好

Select distinct CLM_CC9,
case when CLM_CC9 = '87507' then Electronics 
when CLM_CC9 = '86754' then Toys
end as names
From Impact.dbo.tbl_cld
Where CLM_CC9 in ('8203','34004','86754','87507',
'8759','8523','8526','8552','8761','8562','8778','8587','7588',
'8759','8790','8594','8796','8701','8607','8713','8616','8617',
'8718','8619','87620','8621','8764','7628','8629','7631','8632',
'833','8734','8635','8736','7637','8738','8639','7640','8641','896    08') 
 order by CLM_CC9
您可以使用
case
语句。或者,如果要重复查询,请构造一个查找表

如果表中有该列,则只需执行以下操作

Select distinct namecolumn
From Impact.dbo.tbl_cld
Where CLM_CC9 in ('8203','34004','86754','87507',
'8759','8523','8526','8552','8761','8562','8778','8587','7588',
'8759','8790','8594','8796','8701','8607','8713','8616','8617',
'8718','8619','87620','8621','8764','7628','8629','7631','8632',
'833','8734','8635','8736','7637','8738','8639','7640','8641','896    08') 
order by CLM_CC9

还要确保在子句中的
中消除重复值。

您可能需要这样的内容:

SELECT
CASE CLM_CC9
    WHEN '87507' THEN 'Electronics'
    [WHEN when_value THEN statements]
    ELSE statements
END 

是否已尝试将“名称”字段添加到“选择”字段<代码>选择不同的CLM_CC9,
?我没有。它的语法是什么?放在引号之后?嗯,不,您需要在表中找到保存名称的字段的名称,然后将其放在我在示例中所做的位置…
表中的名称
意味着值在表中。当我执行case语句时,SQL Server不识别该用法?这是什么意思?如果表中有name列,则应使用第二个查询。SQL server无法识别“case”的用法。还建议为此使用查找表。您可以添加列“isImpactTarget”Y/N来标记clm_cc9值,而不是在SQL中列出这些值。
如果名称在表中,则表示该值在表中。
SELECT
CASE CLM_CC9
    WHEN '87507' THEN 'Electronics'
    [WHEN when_value THEN statements]
    ELSE statements
END