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



我的查询中有一个错误 - 我认为它在逻辑上是正确的。

错误代码 1241:操作数应包含 1 列

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

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

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

最新更新