2017-08-07 20 views
0

我想打一個coulmn其中顯示的number_ordered與價格的乘積,但是當我使用此查詢如何在sql中的子查詢中創建2列的總和?

SELECT customer_num AS 'Customer Number' , 
     order_num AS 'Order Number' , 
     order_date AS 'Order Date' , 
     (SELECT SUM(quoted_price * num_ordered) FROM tbl_order_line) AS 'ORDER_TOTAL' 
FROM tbl_orders ; 

它給了我同樣的記錄,每場 這是tbl_order_line

CREATE TABLE tbl_order_line 
(
    order_num  CHAR(5) NOT NULL, 
    part_num   CHAR(4) NOT NULL, 
    num_ordered  DECIMAL(3,0) UNSIGNED NOT NULL, 
    quoted_price DECIMAL(6,2) UNSIGNED NOT NULL, 
    PRIMARY KEY(order_num, part_num), 
    FOREIGN KEY(order_num) REFERENCES tbl_orders(order_num), 
    FOREIGN KEY(part_num) REFERENCES tbl_part(part_num) 
); 

這是tbl_orders

CREATE TABLE tbl_orders 
(
    order_num   CHAR(5) PRIMARY KEY, 
    order_date   DATE NOT NULL, 
    customer_num  CHAR(3) NOT NULL, 
    FOREIGN KEY(customer_num) REFERENCES tbl_customer(customer_num) 
); 

expected resultresult i get

+0

你能告訴我們你希望輸出的結構? – Blasanka

+0

爲什麼你不使用左連接而不是subquerying – Hatik

+0

我被告知使用子查詢不是加入@Hatik –

回答

-1

http://www.sqlfiddle.com/#!9/77874/42

SELECT 
tmp2.sums, 
tmp2.order_num orders, 
tbl_orders.customer_num , 
tbl_orders.order_num , 
tbl_orders.order_date 
FROM tbl_orders 
, 
(SELECT order_num,SUM(quoted_price * num_ordered) sums FROM tbl_order_line 
group by order_num 
) as tmp2 
group by orders