За последние 24 часа нас посетили 22385 программистов и 994 робота. Сейчас ищут 664 программиста ...

MySQL запрос c двумя таблицами?

Тема в разделе "MySQL", создана пользователем artmirartem, 16 янв 2019.

Метки:
  1. artmirartem

    artmirartem Новичок

    С нами с:
    25 сен 2018
    Сообщения:
    7
    Симпатии:
    0
    Всем привет. Допустим, у меня есть таблица с users пользователями, в ней такие поля: id, login, password.
    И также есть таблица blacklist, в ней есть такие поля: id, userID, objectID.

    Как мне вытащить из таблицы users всех пользователей, у которых userID и objectID в таблице blacklist не равно id пользователя??

    Сейчас у меня есть такой запрос:
    Код (Text):
    1. SELECT * FROM users ORDER BY id DESC LIMIT 0,12
     
  2. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    Как вариант:

    Код (Text):
    1. SELECT * FROM `users`  WHERE  `id` NOT IN (GROUP_CONCAT( (SELECT `userID` FROM `blacklist`)   SEPARATOR ','))  ORDER BY `id`.`users` DESC
    Второпях набирал, возможно ошибся
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    LEFT JOIN
     
  4. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    Джойнить то чего нет?)
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Как ни странно, да. Потому что left join. Но добавить условие id is null, или userID is null, в зависимости от какой таблицы 'плясать'
     
    rewuxiin нравится это.
  6. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    да точно. не додумался