Я пытался получить некоторые данные из базы данных, используя MySQL JOIN, но без успеха до сих порMySQL SELECT, JOIN
У меня есть TABLE_A (представляющий строки заказа):
id idc cPos
1 1 10
2 1 20
3 1 30
4 1 40
5 1 50
6 2 10
7 2 20
8 2 30
9 2 40
10 3 10
11 3 20
12 3 30
13 3 40
14 3 50
И TABLE_B:
delivery_id idc cPos
1 1 10
1 1 50
2 1 20
2 3 40
2 3 50
Я хотел бы запрос с результатами ниже:
id idc cPos delivery_id
1 1 10 1
3 1 30 NULL
4 1 40 NULL
5 1 50 1
6 2 10 NULL
7 2 20 NULL
8 2 30 NULL
9 2 40 NULL
10 3 10 NULL
11 3 20 NULL
12 3 30 NULL
мне нужно все записи из TABLE_B где delivery_id равно 1 и все записи из TABLE_A, которые не имеют корреспондентский в TABLE_B (по корреспондентскому Я понимаю table_a.idc = table_b.idc И table_a.cPos = table_b.cPos)
запрос, используемый мной:
SELECT table_a.*, table_b.delivery_id FROM table_a
LEFT JOIN table_b ON (table_a.idc = table_b.idc AND table_a.cPos = table_b.cPos)
WHERE (delivery_id IS NULL OR delivery_id = 1)
Может кто-нибудь мне помочь?
пожалуйста добавить, что вы пытались – Xitas
я обновил вопрос с запросом – rosuandreimihai
http://sqlfiddle.com/#!9/24642/2/0 - ** ваш ** запрос, указанный выше, дает ** ваши ** необходимые результаты ... так в чем вопрос здесь? – Sorin