我对编程和数据库比较陌生。
我有一个带有“sales”表的MySQL数据库。此表列出了州内的所有销售(即每条记录都是特定销售),其中包含vendorname和buyerzip的字段。我希望有另一个表“卖家”,其中包括卖家名称,还包括用邮政编码定义卖家市场区域的字段 - 比如50 +邮政编码定义市场,卖家可以定义多个市场。
这些市场领域将用于未来的查询:显示特定市场区域的所有销售。
我在哪里开始考虑如何存储“市场区域”数据,然后将其用于将来的查询?
由于
答案 0 :(得分:0)
我将在这里做出以下假设:
通向以下结构...
销售表 卖家| buyerzip
市场表 市场| market_zipcodes_idzipcodes表 market_id |邮政编码
希望有帮助...
答案 1 :(得分:0)
将第一条评论中的信息编码到您的问题
1,“商店A,第一市场”
2,“商店A,第二市场”
3,“商店B市场”
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
每个卖家的市场总销售额。请注意,由于一个邮政编码可以是多个市场的一部分,因此“总销售额”中的所有值的总和可能大于“销售”表中所有“金额”值的总和。
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