【发布时间】:2017-09-07 14:48:25
【问题描述】:
我有以下代码:
DROP SCHEMA IF EXISTS s CASCADE;
CREATE SCHEMA s;
CREATE TABLE s.t1 (
id1 BigInt,
id2 BigInt,
CONSTRAINT "pk1" PRIMARY KEY (id1)
)
WITH(OIDS=FALSE);
INSERT INTO s.t1 (id1, id2) VALUES (2, 22);
INSERT INTO s.t1 (id1, id2) VALUES (3, 22);
INSERT INTO s.t1 (id1, id2) VALUES (4, 24);
SELECT EXISTS (SELECT TRUE FROM s.t1 t1 WHERE t1.id1 = 2,
SELECT EXISTS (SELECT TRUE FROM s.t1 t1 WHERE t1.id2 = 22);
有没有办法在单个语句中检查多个条件。
我正在寻找两个单独列中的值。 我一直在寻找的答案是这样的:
bool | bool
------+------
t | t
(1 row)
我得到了解决方案:
SELECT EXISTS(SELECT TRUE FROM s.t1 t1 WHERE t1.id1 = 6),
EXISTS(SELECT TRUE FROM s.t1 t1 WHERE t1.id2 = 22);
输出:
exists | exists
--------+--------
f | t
(1 row)
【问题讨论】:
标签: postgresql select multiple-columns exists