Операнд должен содержать 1 столбец (ы) if-предложение - PullRequest
0 голосов
/ 19 сентября 2018

Я не понимаю, почему этот запрос неправильный.Я пробовал только истинные и ложные запросы, и это работает, но когда я помещаю их в условие if, это не так.Заранее спасибо за помощь:)

SELECT 
IF ( 
    (SELECT useronline FROM wp_livechat ORDER BY id DESC LIMIT 1) = 1
    , 
    (SELECT *
     FROM wp_livechat
     WHERE id >= (SELECT id 
                  FROM wp_livechat
                  WHERE useronline = 0
                  ORDER BY id DESC
                  LIMIT 0, 1)
     AND id <= (SELECT id 
                FROM wp_livechat
                WHERE useronline = 1
                ORDER BY id DESC
                LIMIT 0, 1)
    ),
    (SELECT *
     FROM wp_livechat
     WHERE id >= (SELECT id 
                  FROM wp_livechat
                  WHERE useronline = 0
                  ORDER BY id DESC
                  LIMIT 1, 1)
     AND id <= (SELECT id 
                FROM wp_livechat
                WHERE useronline = 0
                ORDER BY id DESC
                LIMIT 0, 1)
    )
);

РЕДАКТИРОВАТЬ: Это таблица: https://ibb.co/huri6e

И я хочу получить сообщения от последней useronline = 0 до переднего useronline =0. И если последняя запись - useronline = 1, то я хочу получить сообщения из последней записи с useronline = 1 до последней записи с useronline = 0.

1 Ответ

0 голосов
/ 21 сентября 2018

Я получил это с этим запросом.В любом случае спасибо:)

SELECT *
FROM wp_livechat
WHERE ID > (
    SELECT IF ( 
    (SELECT useronline FROM wp_livechat ORDER BY ID DESC LIMIT 1) = 1,
        (SELECT ID 
        FROM wp_livechat
        WHERE useronline = 0
        ORDER BY id DESC LIMIT 0, 1)
    ,
        (SELECT ID 
        FROM wp_livechat
        WHERE useronline = 0
        ORDER BY id DESC LIMIT 1, 1)
    )
)
AND ID <= (SELECT ID FROM wp_livechat WHERE useronline = 1 ORDER BY ID DESC LIMIT 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...