2014-02-21 59 views
0

,我有以下表格客戶名單:的Oracle SQL查詢來獲取誰購買多個項目

Customers (customer_id,customer_name) 
Orders (order_id, order_date, customer_id) 
Order_details (order_id, item_id) 
Items (item_id) 

我需要的Oracle SQL查詢來獲取誰購買了多個項目的客戶名單。提前.Thanks

+0

請包括目前爲止您嘗試過的內容。 –

+0

Sure.let我加了我到目前爲止所嘗試過的。 – user3338753

回答

0

嘗試:

select c.* from customers c, orders o, order_details od 
where c.customer_id = o.customer_id 
    and o.order_id = od.order_id 
    group by od.order_id having count(od.item_id) > 1; 
+1

我絕不會鼓勵使用這種不贊成使用的連接語法。 –

+0

@GoatCO可以請你詳細說明一下,因爲我寫了SQL Query之後就已經很長時間了,所以如果你能提供更多關於寫入Join查詢的正確方法的信息,那對我和其他人都會有幫助。 – Kakarot

+0

這對我有幫助。我想我們可以加入所有的四個表格,但由於item_id也存在於order_details表格中。這個查詢對我有用。謝謝! – user3338753

1

這應該這樣做,它還將包括顯示訂單數量列:看看,如果這個工程

SELECT Count(item_id) order_count, customer_id, customer_name 
FROM Customers 
    INNER JOIN Orders ON Customers.customer_id = Orders.customer_id 
    INNER JOIN Order_details ON Orders.order_id = Order_details.order_id 
GROUP BY customer_id, customer_name 
HAVING Count(item_id) > 1