我有以下 SQL 代码:
SELECT eml AS "Email Address"
FROM emailtbl
WHERE DEPT LIKE 'E%'
我的问题是,如果部门以“F”开头,我必须选择传真而不是 eml。如果部门以“E”开头,我该怎么做才能选择 eml,如果部门以“F”开头,我该怎么做?
谢谢
我有以下 SQL 代码:
SELECT eml AS "Email Address"
FROM emailtbl
WHERE DEPT LIKE 'E%'
我的问题是,如果部门以“F”开头,我必须选择传真而不是 eml。如果部门以“E”开头,我该怎么做才能选择 eml,如果部门以“F”开头,我该怎么做?
谢谢
一种选择是使用UNION ALL
语句
SELECT eml AS "Entity"
FROM emailtbl
WHERE DEPT LIKE 'E%'
UNION ALL
SELECT fax AS "Entity"
FROM emailtbl
WHERE DEPT LIKE 'F%'
另一种是使用CASE
语句
SELECT CASE WHEN Dept LIKE 'E%' THEN eml ELSE fax END AS "Entity"
FROM emailtbl
WHERE DEPT LIKE 'E%' OR DEPT LIKE 'F%'
这个怎么样?
IF (SUBSTRING(@useLike,1,1) = 'E')
BEGIN
SELECT eml AS "Email Address"
FROM emailtbl
WHERE DEPT LIKE @useLike
END
ELSE
BEGIN
SELECT fax AS "Email Address"
FROM emailtbl
WHERE DEPT LIKE @useLike
END