我需要一些帮助来查找某些表中的数据。我想查看SQL查询来查找它,但是我遇到了一些困难。
customers (customerID: integer, fName: string, lName: string)
items (itemID: integer, description: string, price: float)
orders (orderID: integer, itemID: integer, aID: integer, customerID: integer, date: date)
addresses (aID: integer, housenum: integer, streetName: string, town:string, state: string, zip:integer)
这是我尝试过的,但我不确定它是否正确,因为许多SUM(价格)是相同的?
SELECT DISTINCT(zip), SUM(price)
FROM addresses, items
GROUP BY zip
列出将商品运送到同一城镇的客户的城镇,名字和姓氏。
SELECT fName, lName, town, aID
FROM customers
JOIN addresses
ON addresses.town=customers.lName
FROM addresses
ON addresses.aID=customers.fName
最后3.返回每位客户在2013年3月所花费的平均金额。(请注意,答案将是单个数字。)
非常感谢
答案 0 :(得分:0)
不确定这是否是家庭作业,但这里有一些东西可以帮助你入门:
- 对于每个邮政编码,请列出邮政编码和发送到邮政编码的商品的总价值。
醇>
每个项目都属于一个订单,每个订单都有一个地址。
SQL:
SELECT a.zip, sum(i.prices)
FROM items i
JOIN orders o using(orderID)
JOIN addresses a using(aID)
GROUP by a.zip
- 列出将商品运送到同一城镇的客户的城镇,名字和姓氏。
醇>
每个客户都有订单,每个订单都有一个地址。
SQL:
SELECT DISTINCT a.town,
c.fname,
c.lname
FROM customer c
JOIN orders o
ON c.customerid = o.customerid
JOIN addresses a
ON o.aid = a.aid
WHERE town IN (
SELECT town
FROM orders o
JOIN addresses a
ON o.aid = a.aid
GROUP BY town
HAVING COUNT(DISTINCT c.customerid) > 1)