"if" 语句中的子查询出错(错误 code:1241)

error with subquery in "if" statement (error code:1241)

我的查询有误 - 我认为 逻辑上 正确。

error code 1241 : operand should contain 1 column(s)

1>0 仅供测试!我将在后端使用 php 更改它。

SELECT if(1>0,(SELECT
                count(lh_chat.dep_id) as chat_vorodi_be_saf,
                count(lh_chat.online_user_id) as tedad_chat_mojadad,
                count(lh_chat_online_user.rightel_number) as tedad_chat_shomare_yekta,
                count(chat_status.status) as chat_pasokh_dade_shode

                FROM
                  lh_chat
                INNER JOIN
                  lh_chat_online_user
                ON
                   lh_chat.id = lh_chat_online_user.chat_id
                INNER JOIN
                  chat_status
                ON
                  lh_chat.id = chat_status.chat_id where lh_chat.operation_ts between 0 and 1),'')

union all
SELECT if(1>0,(SELECT
                count(lh_chat.dep_id) as chat_vorodi_be_saf,
                count(lh_chat.online_user_id) as tedad_chat_mojadad,
                count(lh_chat_online_user.rightel_number) as tedad_chat_shomare_yekta,
                count(chat_status.status) as chat_pasokh_dade_shode

                FROM
                  lh_chat
                INNER JOIN
                  lh_chat_online_user
                ON
                   lh_chat.id = lh_chat_online_user.chat_id
                INNER JOIN
                  chat_status
                ON
                  lh_chat.id = chat_status.chat_id where lh_chat.operation_ts between 1 and 2),'')

union all
SELECT if(1>0,(SELECT
                count(lh_chat.dep_id) as chat_vorodi_be_saf,
                count(lh_chat.online_user_id) as tedad_chat_mojadad,
                count(lh_chat_online_user.rightel_number) as tedad_chat_shomare_yekta,
                count(chat_status.status) as chat_pasokh_dade_shode

                FROM
                  lh_chat
                INNER JOIN
                  lh_chat_online_user
                ON
                   lh_chat.id = lh_chat_online_user.chat_id
                INNER JOIN
                  chat_status
                ON
                  lh_chat.id = chat_status.chat_id where lh_chat.operation_ts between 2 and 3),'')

我会使用 case 语句而不是 if。

这部分 "if(1>0,(SELECT" 在 SELECT 之后必须只有一个字段。