我有以下结构的表:有条件的情况下WHEN语句
CustID | Number 1 | Number 2 | Number 3 | Number 4
1 | 072454584 | | 017726593 |
2 | |0125456852| | 0125785448
我尝试这样做,选择第一个数字,可查询,因此,如果使用客户ID 2只会返回2号,如果有一个只有4号的记录,它会忽略1,2,3。我在声明中试过做过一个案例,但我似乎无法理解逻辑。
我有以下结构的表:有条件的情况下WHEN语句
CustID | Number 1 | Number 2 | Number 3 | Number 4
1 | 072454584 | | 017726593 |
2 | |0125456852| | 0125785448
我尝试这样做,选择第一个数字,可查询,因此,如果使用客户ID 2只会返回2号,如果有一个只有4号的记录,它会忽略1,2,3。我在声明中试过做过一个案例,但我似乎无法理解逻辑。
如果你有这些列中的NULL值,则使用COALESCE
:
SELECT CUSTID, COALESCE(number1, number2, number3, number4)
没有任何空值,但易于工作。感谢你的回答。 – GPH
我认为你应该更好地规划你的表的结构 –
@Nadeem_MK我认为你应该正确地阅读这个问题。 “查询选择可用的第一个数字,所以如果使用客户ID 2,它将只返回数字2,如果有一个只有数字4的记录,它将忽略1,2,3” – GPH
@Gavlaaa - 改变结构是应该始终在SQL问题上考虑的一件事,你应该提到你不能改变它。绝对不要滥用某人试图帮助 - 这并不会让别人感觉到帮助 – Mark