条件选择?

问题描述:

我有以下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 
+0

其实现在在页面刷新; Lieven anwser很酷。 – James 2012-08-02 12:40:21

+0

你的意思是说这是以前没有? ;) – 2012-08-02 12:53:16