如何根据其值返回一列或另一列?
我有以下存储过程(这只是一个示例):
SELECT
Stds.FirstName,
Addrs.Address
FROM
Students AS Stds
INNER JOIN
Address AS Addrs ON Addrs.StdId = Stds.StdId
GROUP BY
Addrs.FirstName,
Stds.Address
现在的想法是Addresses
有两个字段:Address
和AddressTwo
,我想返回AddressTwo
IF {{1} }是Address
的{{1}}。
答案 0 :(得分:0)
好吧,对于我的特殊情况,也许通常我想使用ISNULL()。
答案 1 :(得分:0)
您可以使用COALESCE
,例如:
SELECT
Stds.FirstName,
COALESCE(Addrs.Address, Addrs.AddressTwo) AS Addr
FROM
Students AS Stds INNER JOIN Address AS Addrs ON Addrs.StdId = Stds.StdId
答案 2 :(得分:0)
您可以在下面的sql中使用。
SELECT
Stds.FirstName,
case when Addrs.Address is null then AddressTwo else Addrs.Address end Address
FROM
Students AS Stds
INNER JOIN
Address AS Addrs ON Addrs.StdId = Stds.StdId
GROUP BY
Addrs.FirstName,
case when Addrs.Address is null then AddressTwo else Addrs.Address end