SQL中的条件选择?

SQL中的条件选择?,sql,Sql,我有以下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

我有以下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 eml AS "Entity"
FROM   emailtbl
WHERE  DEPT LIKE 'E%'
UNION ALL
SELECT fax AS "Entity"
FROM   emailtbl
WHERE  DEPT LIKE 'F%'
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

实际上现在页面已经刷新了;Lieven anwser很酷。你的意思是说以前不是吗?;)