У меня есть таблица, как показано ниже:
Запрос:
select t1.*
from TABLE2 as t1
left join TABLE2 as t2 on t1.itemcode = t2.itemcode
and t1.warehouseid = '576'
and t1.flag = 'Y'
and t2.warehouseid = '276'
and t2.flag = 'Y';
У меня есть вышеуказанный запрос, и я понимаю этоне идеален.
Для кода товара, если эти условия выполнены (t1.warehouseid = '576' и t1.flag = 'Y' и t2.warehouseid = '276' и t2.flag = 'Y') Я хочу получить это из t1.
Кроме того, если в t2 нет записи для кода товара (например, 456 недоступен для warehouseid 276), я также хочу получить его из t1.
Ожидается следующий вывод,
123 576 Y
456 576 Y
Какой правильный запрос для этого?
Редактировать: Чтобы сделать сообщение более понятным,
Warehouse id 576 является основным элементом.
Для кода товара, присутствующего в обоих идентификаторах склада (576, 276) с одинаковыми флагами ('Y'), я хочу получить.
И если код товара отсутствует на другом складе (276), то я также хочу получить
Для кода товара, присутствующего в обоих идентификаторах склада (576, 276) с разными флагами («Y», «N»), я этого не хочу.