У меня есть 2 таблицы здесь, STOCK (ID, CODE)
и SALES (ID, CODE, STATUS)
. Я хочу отфильтровать значения таблицы STOCK, используя определенное условие из таблицы SALES.Фильтровать таблицу mysql на основе значений из другой таблицы
В качестве примера, если мы имеем эти значения в
STOCK Таблица:
A1
A2
A3
A4
A5
и
ПРОДАЖ Таблица:
A1 - Sold
A2 - Returned
A3 - Assigned
A2 - Sold
A4 - Returned
результат должен быть:
A4
A5
Какие-либо предметы, имеющие статус ПРОДАН и ASSIGNED должны быть удалены из результата. Элементы с статусом RETURNED, в таблице SALES и элементы, которые еще не используются из таблицы STOCK, должны быть доступны для входа.
Я попытался следующий код, но проблема в том, что, как только ВЕРНУЛСЯ элемент повторно вводится в таблицу SALES с состоянием Продан или Assigned, он по-прежнему получать в к результату.
SELECT t1.CODE
FROM STOCK t1
LEFT JOIN SALES t2 ON t2.CODE = t1.CODE
WHERE (t2.CODE IS NULL OR (t2.STATUS <> 'Sold' AND t2.STATUS <> 'Assigned'));
Пожалуйста, помогите мне решить эту проблему.
спасибо. Это то, что мне нужно. Большое спасибо. – Vishnu
Привет, я был бы очень благодарен, если бы вы могли помочь мне использовать это в ** VIEW **, поскольку подзапрос не разрешен внутри SELECT. – Vishnu