我有一个表,其中包含 Customer_ID、Customer_Name、Address1、Address2、Mail_Address1、Mail_Address2 等。
在某些情况下,Mail_Address1 = 'Same' 或 ''.... 这基本上意味着我需要提取 Address1 + Address2,否则忽略并采用 Mail_Address1 + Mail_Address2。
我的伪 SQL 查询如下所示:-
// The query that would give me all the records with the same address as Address1 for Mailing Address //
SELECT Customer_ID, Customer_Name, Address1 + ', ' + Address2 as Address, ....
FROM Customers
Where Customer_ID != 0 AND (Mail_Address1 ='Same' or Mail_Address1 ='')
并且
SELECT Customer_ID, Customer_Name, Mail_Address1 + ', ' + Mail_Address2 as Address, ....
FROM Customers
Where Customer_ID != 0 AND Mail_Address1 !='Same' AND Mail_Address1 !=''
如何组合这两个查询,以便我可以有一个查询,该查询将根据条件选择正确的地址。 (相同或空字符串)。
最佳答案
您考虑过 CASE
语句吗?
SELECT
CASE
WHEN Customer_ID != 0 AND (Mail_Address1 ='Same' OR Mail_Address1 = '')
THEN Address1 + ', ' + Address2
ELSE Mail_Address1 + ', ' + Mail_Address2
END AS address
FROM Customers
关于mysql - SQL 复合查询 if-else 或 Case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45745444/