Hi everybody?
here is 2 CASE EXAMPLES:
WITH CASE_SUB(A,B) AS
(VALUES('z','1'),
('z','2'),
('x','1'))
SELECT
CASE
WHEN (SELECT COUNT(A) from case_sub WHERE A='z') = 1
THEN 'A'
ELSE 'B'
END AS CASE
FROM CASE_SUB;
CASE
----
B
B
B
3 record(s) selected.
2ND EXAMPLE:
WITH CASE_SUB(A,B) AS
(VALUES('z','1'),
('z','2'),
('x','1'))
SELECT
CASE
WHEN (SELECT COUNT(A) from case_sub WHERE A='z') = 1
THEN
(select B from CASE_SUB WHERE A='z')
ELSE 'B'
END AS CASE
FROM CASE_SUB;
sqlcode: -811 The result of a scalar fullselect, SELECT INTO statement, or
VALUES INTO statement is more than one row.
WHY ELSE 'B' is not executed?
--
Message posted via http://www.dbmonster.com