4

次のSQLコードがあります。

SELECT eml AS "Email Address"
FROM emailtbl
WHERE DEPT LIKE 'E%'

私の問題は、部門が「F」で始まる場合、eml ではなくファックスを選択する必要があることです。部署が「E」で始まる場合は eml を選択し、部署が「F」で始まる場合はファックスを選択するにはどうすればよいですか

ありがとう

4

2 に答える 2

9

1つのオプションは、UNION ALLステートメントを使用することです

SELECT eml AS "Entity"
FROM   emailtbl
WHERE  DEPT LIKE 'E%'
UNION ALL
SELECT fax AS "Entity"
FROM   emailtbl
WHERE  DEPT LIKE 'F%'

もう1つは、CASEステートメントを使用することです

SELECT CASE WHEN Dept LIKE 'E%' THEN eml ELSE fax END AS "Entity"
FROM   emailtbl
WHERE  DEPT LIKE 'E%' OR DEPT LIKE 'F%'
于 2012-08-02T12:36:21.370 に答える
1

これはどう?

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
于 2012-08-02T12:38:18.933 に答える