我有这个简单的查询
SELECT EXISTS(SELECT a FROM A WHERE a = 'lorem ipsum');
如果A中存在包含'lorem ipsum'的行
,则返回0或1我想将这种行为联系在一起。所以我会得到多行,如果存在该值,则每行为0或1。
我将如何做到这一点?
更新
可以像这样做,但我得到每个结果的列。
SELECT EXISTS(SELECT a FROM A WHERE a = 'lorem ipsum'), EXISTS(SELECT a FROM A WHERE a = 'dolor sit');
答案 0 :(得分:2)
SELECT EXISTS(SELECT a FROM A WHERE a = 'lorem ipsum')
UNION ALL
SELECT EXISTS(SELECT a FROM A WHERE a = 'dolor sit');
或者
SELECT EXISTS(SELECT a FROM A WHERE A.a = T.a)
FROM (SELECT 'lorem ipsum' AS a
UNION ALL
SELECT 'dolor sit') T
答案 1 :(得分:0)
没有方便的SQL服务器,但试试这个:
SELECT CASE WHEN EXISTS (...) THEN 1 ELSE 0 END
UNION ALL
SELECT CASE WHEN EXISTS (...) THEN 1 ELSE 0 END
答案 2 :(得分:0)
我会用这样的东西。
SELECT
CASE
WHEN a = 'lorem ipsum' THEN 1
WHEN a = 'dolor sit' THEN 1
ELSE 0
END AS something
FROM A;