У меня есть три таблицыMYSQL выберите присоединиться несколько таблицу и SUM
1.master
id_master barcode name last_stock
1 123 abc 15
2 234 bcd 10
3 345 cde 7
4 456 def 11
5 567 efg 20
2. trans_in
id_trans_in barcode qty time_trans
1 567 1 2016-04-01 10:15:09
2 234 2 2016-04-01 14:15:09
3 345 5 2016-04-01 20:15:09
3. trans_out
id_trans_out barcode qty time_trans
1 123 3 2016-04-01 09:15:09
2 234 5 2016-04-01 08:15:09
Я должен построить запрос, чтобы дать результат
id_master barcode name last_stock in out
1 123 abc 15 0 3
2 234 bcd 10 2 5
3 345 cde 7 5 0
4 456 def 11 0 0
5 567 efg 20 1 0
Я просто пытался простой запрос
select
a.id_master, a.barcode, a.name,
COALESCE(SUM(b.qty),'0')
from
master a
inner join trans_in b
on a.barcode = b.barcode
where
date(b.time_trans) = '2016-04-01'
group by a.barcode
результат
id_master barcode name COALESCE(SUM(b.qty),'0')
5 567 efg 1
2 234 bcd 2
3 345 cde 5
я не знаю, как совместить полный список мастер, trans_in и trans_out по time_trans (если нуль, то 0), я уже пытаюсь использовать левое соединение, внутреннее соединение на трех из них, но результат заставляет меня головокружение .. результат из SUM больше, чем qty из поля, я действительно не знаю, почему.
Получение синтаксиса ошибок, я помещаю одиночную кавычку в каждый как ('in', 'out'), удаляю запятую после выхода, но все равно получаю синтаксис ошибок в другой строке «неизвестный b.barcode in on». –
dang .. извините .. нужно включить штрих-код в ваши производные таблицы .. я буду обновлять – JamieD77
работать как шарм bro ... действительно гладкий запрос ... спасибо снова, мой брат ..: D –