如何将SELECT EXISTS()查询链接在一起?

时间:2011-03-30 08:21:31

标签: mysql exists chaining

我有这个简单的查询

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');

3 个答案:

答案 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;