【发布时间】:2020-03-05 18:47:53
【问题描述】:
我有一个 db2/AS400 数据库,我正在尝试执行以下查询:
SELECT *
FROM user
WHERE id IN (
CASE
WHEN 1=1 THEN
(SELECT id
FROM user AS userInner
WHERE userInner.salary < 10)
ELSE
(SELECT id
FROM user AS userInner
WHERE userInner.salary > 20)
END
)
1=1 条件取决于其他条件,但对于这个简单的示例来说没问题。但是我得到的错误如下:
SQL 错误 [21000]:[SQL0811] SELECT 的结果超过一行。
如何使用 case when 或其他方式来获得具有多个结果的 sql_statement 条件?
谢谢
【问题讨论】:
-
请提供样本数据和期望的结果。