[英]Get all records from master table and matching from child using WHERE mysql query
[英]MySQL query to get data of child and master table
我有兩個名為order
和orderdetail
表, orderdetail
與鍵order_id
我想查詢數據庫以獲取每個訂單的總計。
order
表包含字段order_id
, customer_name
等。
order_detail
表具有id (primary key)
, order_number (foreign key)
, product
, qty
, price
字段
我想要這樣的字段的結果:
order_id
, grand_total
。
我為order_detail
創建了一個視圖,如下所示:
CREATE OR REPLACE VIEW orderTotal AS
SELECT
order_number,
Round(sum(qty * price),2) as grandTotal
FROM order_detail t group by order_number;
它工作得很好,但是有一個問題。 一些訂單的order_detail
沒有參考數據,因此該視圖未列出該記錄。 我該如何解決? 請給我一個示例查詢。
它可能需要多個SQL查詢,但是我們可以將其構建為視圖嗎?
例如,我需要這樣的數據:
order_id grandTotal
1 200
2 0 // when data is missing
3 150.35
如果您有父母記錄但沒有孩子,則可以幫助您:
SELECT
order.order_id,
coalesce(Round(sum(order_detail.qty * order_detail.price),2),0) as grandTotal
FROM order
LEFT join order_detail on order_detail.order_number = order.order_id
GROUP BY order.order_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.