Как проверить в sqlite3, что при использовании оператора NOT IN список не пустой

Рейтинг: 0Ответов: 0Опубликовано: 21.08.2023

У меня есть часть кода, в которой я проверяю, что id события нет в другой таблице

(events.id NOT IN (SELECT id_event FROM watched_events WHERE id_user = ?)

Однако подзапрос SELECT id_event FROM watched_events WHERE id_user = ? может возвращать пустой список, и весь запрос будет возвращать None.

Вот как выглядит весь запрос

SELECT id, name, type, description, longitude, latitude, time,
  members_all, members_on_event
FROM events,users, watched_events
WHERE (users.id_user = ?) AND
  (events.id NOT IN (SELECT id_event FROM watched_events WHERE id_user = ?)) AND
  (6371000*2*asin(sqrt(pow(sin(rad((latitude-abs(user_latitude))/2)), 2) +
  cos(rad(latitude))*cos(rad(abs(user_latitude)))*
  pow(sin(rad((longitude-user_longitude)/2)), 2))) < ?)

Подскажите, пожалуйста, как проверить правильно, пустой ли лист.

Ответы

Ответов пока нет.