Я просто погуглил, но не смог найти идеального ответа на свой вопрос.Я пытаюсь объединить заказы с тремя таблицами payment_milestone, счета-фактуры. Соотношение между таблицами выглядит следующим образом:
заказов на payment_milestone (один ко многим) в одном заказе может быть много payment_milestone, связанных с ним, может быть 25%, 50%и 25% в разные даты.
теперь по истечении времени payment_milestone будет сгенерирован счет-фактура, а в таблице счетов-фактур появятся order_id и payment_milestone_id
, поэтому, когда я присоединился к ним вот так:
SELECT
inv.invoice_id, ord.sub_total, ord.vat_added, pm.pay_date, pm.percentage
FROM orders ord
INNER JOIN
payment_milestone pm ON ord.order_id = pm.order_id
INNER JOIN
invoices inv ON ord.order_id = inv.order_id
он вернул мне: этот результат , который является избыточным
Я использовал предложение GROUP BY
, и он дал такой результат: результат
результат, который я хочу получить, таков:
invoice_id sub_total vat_added pay_date percentage
----------------------------------------------------------------------------
11 40000.00 2000.00 2018-09-20 53
12 40000.00 2000.00 2018-09-22 47
13 45360.00 2268.00 2018-09-27 100
Я не могу понять, где я делаю неправильно в запросе.
заранее спасибо!