2011-06-19 150 views
-3

幫助我在我的數據庫這些表:SQL - 需要進行查詢

TOY_STORE 
Store_ID(PK) 
Name 

TOYS 
Toy_ID(PK) 
Store_ID(FK) 
Name 

ORDERED_TOYS 
Ordered_Toy_ID(PK) 
Order_ID(FK) 
Toy_ID(FK) 
Toy_Price_per_unit 
Units 

ORDERS 
Order_ID(PK) 
Customer_ID(FK) 
Date datetime 

CUSTOMERS 
Customer_ID(PK) 
Name 

我需要從這些表使2個查詢:

1 - 我需要顯示總的每個order的從2005年1月起,從Costumer,Date,Orders以及order的總數顯示字段Name

2 - 我需要顯示多少個單位,從各toy 2005年3月出售,顯示NameToysNameToy Store領域(也有可能是沒有連接到任何玩具商店的玩具),有多少單位是出售。

在此先感謝! :)

+0

**什麼**數據庫 - **哪個版本?!?!?!?! –

+4

這是功課嗎? – Magnus

+0

這絕對看起來像功課。我會建議看看這裏:http://www.w3schools.com/SQL/sql_intro.asp – MoarCodePlz

回答

1

這東西不是火箭科學,如果你的任務是創建一個應用程序來與這個數據庫交互,你真的需要知道如何編寫這種查詢。

我在火車上和我很無聊所以......

SELECT c.Name, o.Date, SUM(ot.Toy_Price_per_unit*ot.Units) FROM ORDERS o 
JOIN CUSTOMERS c ON o.Customer_ID=c.Customer_ID 
JOIN ORDERED_TOYS ot ON o.Order_ID=ot.Order_ID 
WHERE DATE(o.Date) >= '2005-01-01' 
GROUP BY o.Order_ID; 

SELECT t.Name, ts.Name, COUNT(*) FROM TOYS t 
LEFT JOIN TOY_STORE ts ON t.Store_ID=ts.Store_ID 
LEFT JOIN ORDERED_TOYS ot ON t.Toy_ID=ot.Toy_ID 
LEFT JOIN ORDERS o ON ot.Order_ID=o.Order_ID 
WHERE MONTH(o.Date) = 3 
GROUP BY t.Toy_ID, ts.Name; 

他們正在考慮寫的MySQL,並測試。可能讓你開始。

請記住,Stackoverflow不是適合此類問題的地方。不是在這裏教基本面,而是收集可能對其他人有用的問題和答案。除了你之外,這個問題幾乎沒有用。