我的数据库中有这些表:
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-我需要显示自2005年1月起的每个order
的总计,显示来自Name
的{{1}}字段,来自Costumer
的{{1}}字段和总计Date
。
2-我需要显示2005年3月每个Orders
销售的单位数量,显示来自order
的字段toy
,Name
来自Toys
(并且可能有玩具店没有连接的玩具)以及售出的单位数量。
提前致谢!! :)
答案 0 :(得分: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不适合这种性质的问题。它不是在这里教授基础知识,而是收集可能对其他人有用的问题和答案。除了你之外,这个问题几乎没有任何用处。