У меня есть 2 таблицы, A и B, обе имеют те же данные, что и таблица B также имеет столбец «include».Mysql где (в) инструкция другой таблицы без объединений
Я хочу выбрать все записи a.code и a.user_id в таблице a, если такая же комбинация A.user_id + A.code существует в таблице B, где include равно 1, то я не хочу возвращать эти значения из таблицы А.
Сначала я пытался это исправить с этим:
SELECT a.code, a.user_id
LEFT JOIN B ON a.code = b.code
FROM A a WHERE b.include != 1
это не работает, потому что поле кода существует несколько раз в таблице B, так что я получил много результатов.
В конце концов я придумал это, но я не уверен, что это лучшее решение или даже правильное.
SELECT a.code, a.user_id
FROM A a WHERE CONCAT(code, '-', user_id)
IN (SELECT CONCAT(code, '-', user_id) FROM b WHERE include != 1
Любая помощь очень ценится!
левое соединение не работает – devpro
U нужна запись либо код, доступный в таблице B, либо не – devpro
U имеет несколько записей в таблице B, и им не нужны только одна запись? – devpro