gpt4 book ai didi

SQL:将变量值与多个列匹配并选择匹配的列名

转载 作者:行者123 更新时间:2023-12-02 18:25:17 24 4
gpt4 key购买 nike

我想获取电话号码匹配的记录。共有 3 列保存电话号码。工作、家庭和手机。我正在编写一个查询来检查电话号码是否与 3 列中的任何一列匹配。

declare @phNo nvarchar(15) = 'xxxxxxxxxx'

select HomePhone, cellphone, workphone, *
from Contact_Table
where @phNo in (HomePhone, cellphone, workphone)

此查询工作正常,但我还想要与电话号码匹配的列名称。如何获取匹配列的名称?

例如,如果电话号码与“homehpone”匹配,则结果集应返回“homephone”

最佳答案

这可以通过 CASE 来完成:

DECLARE @phNo NVARCHAR(15) = 'xxxxxxxxxx';

SELECT homephone,cellphone,workphone, *,
CASE WHEN @phNo = homephone THEN 'homephone'
WHEN @phNo = cellphone then 'cellphone'
WHEN @phNo = workphone THEN 'workphone'
END AS PhoneMatch
FROM Contact_Table
WHERE @phNo IN (HomePhone,cellphone,workphone);

关于SQL:将变量值与多个列匹配并选择匹配的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70306802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com