我是编程和数据库方面的新手。
我有一个带有"sales“表的MySQL数据库。此表列出了某个状态下的所有销售(即,每个记录都是一个特定的销售),其中包含sellername和buyerzip字段。我希望有另一个表“卖方”,其中将包括卖家名称,也包括字段,以定义由邮政编码的卖方市场区域-比方说,50+邮政编码定义一个市场,卖方可以定义多个市场。
这些市场区域将用于将来的查询:显示特定市场区域中的所有销售。
我该从哪里开始思考如何存储“市场区域”数据,然后将其用于未来的查询?
谢谢
发布于 2013-01-19 05:39:23
表结构:
sellerName
示例数据
将第一条评论中的信息编码为您的问题
市场表
1,“商店A,第一个市场”
2,“商店A,第二个市场”
3,“商店B市场”
MarketZipCode表
1,1,1
2、1、2
..。
7,1,7
8,1,8
9、2、4
10、2、5
..。
14、2、9
15、2、10
16,3,1
17、3、2
18,3,3
19、3、8
20、3、9
21、3、10
22、3、11
23、3、12
查询
每个卖家在市场上的总销售额。请注意,由于一个邮政编码可以是多个市场的一部分,因此"Total Sales“中所有值的总和可以大于Sales表中所有”amount“值的总和。
select Market.marketName, Seller.sellerName, sum(Sales.amount) as "Total Sales"
from Sales join Seller join SellerMarketLink join Market join MarketZipCode
on (Sales.sellerID = Seller.ID AND Seller.ID = SellerMarketLink.sellerID
AND SellerMarketLink.marketID = Market.ID
AND Market.ID = MarketZipCode.marketID
AND MarketZipCode.zipCode = Sales.buyerZipCode)
group by Market.ID, Market.marketName, Seller.ID, Seller.sellerName
order by Market.marketName, Seller.sellerName发布于 2013-01-19 04:54:10
我将在这里做以下假设:
重叠
通向下面的结构...
销售表卖家| buyerzip
markets表market | market_zipcodes_id
邮政编码表格market_id |邮政编码
希望这能帮上忙。
https://stackoverflow.com/questions/14407373
复制相似问题