Мускул запрос
У меня есть таблицы: люди, события и история.
Таблица история соединяет людей и события по их айди. Так вот, мне надо выбрать людей, которые не участвуют в определённом событии.
SELECT peoples.id FROM peoples, history WHERE 13 = history.action and history.man != peoples.id
Цитата:
Originally posted by Prokur
IDS = sobitija v kotorom kto-to ne u4astvoval, k primeru 13
SELECT peoples.id FROM peoples, history WHERE 13 = history.action and history.man != peoples.id
IDS = sobitija v kotorom kto-to ne u4astvoval, k primeru 13
SELECT peoples.id FROM peoples, history WHERE 13 = history.action and history.man != peoples.id
Не получится! Потому, что могут быть люди, которые не участвуют ни в каких событиях, а в твоём запросе они просто откинутся.
Цитата:
Originally posted by Новая папка
Не получится! Потому, что могут быть люди, которые не участвуют ни в каких событиях, а в твоём запросе они просто откинутся.
Не получится! Потому, что могут быть люди, которые не участвуют ни в каких событиях, а в твоём запросе они просто откинутся.
Sdelai 2 zapras, gde vse so vsemi otkinutimi budet sdelano to zhe samoe.
select * from peoples LEFT JOIN history ON peoples.id = history.man AND history.action = 13
посмотри, что вернет этот запрос. и потом уже где будут null, те записи отбирай.
если честно, я сам хреново рублю в слиянии таблиц, так что будем пытаться решить проблему вместе :)
Цитата:
Originally posted by Prokur
точно не знаю сработает или нет, но могу дать совет такой:
select * from peoples LEFT JOIN history ON peoples.id = history.man AND history.action = 13
посмотри, что вернет этот запрос. и потом уже где будут null, те записи отбирай.
если честно, я сам хреново рублю в слиянии таблиц, так что будем пытаться решить проблему вместе :)
точно не знаю сработает или нет, но могу дать совет такой:
select * from peoples LEFT JOIN history ON peoples.id = history.man AND history.action = 13
посмотри, что вернет этот запрос. и потом уже где будут null, те записи отбирай.
если честно, я сам хреново рублю в слиянии таблиц, так что будем пытаться решить проблему вместе :)
Дело в том, что я уже перепробывал все эти варианты, которые мне здесь предлогают, поэтому сюда и обратился. Твой вариант я тоже пробывал, и он тоже не работает.
Цитата:
Originally posted by Новая папка
Дело в том, что я уже перепробывал все эти варианты, которые мне здесь предлогают, поэтому сюда и обратился. Твой вариант я тоже пробывал, и он тоже не работает.
Дело в том, что я уже перепробывал все эти варианты, которые мне здесь предлогают, поэтому сюда и обратился. Твой вариант я тоже пробывал, и он тоже не работает.
Попробывал такое
select * from Attendee LEFT JOIN History ON Attendee.id = History.Attendee AND History.Event <> 13 ORDER BY Attendee.Attendee LIMIT 13
Выполнялся секунд 30 и дублировал записи. Чего, не ясно!:devil: