条件选择?
问题描述:
我有以下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
其实现在在页面刷新; Lieven anwser很酷。 – James 2012-08-02 12:40:21
你的意思是说这是以前没有? ;) – 2012-08-02 12:53:16