首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL/PHP存储多个数据点

MySQL/PHP存储多个数据点
EN

Stack Overflow用户
提问于 2013-01-19 04:48:20
回答 2查看 199关注 0票数 0

我是编程和数据库方面的新手。

我有一个带有"sales“表的MySQL数据库。此表列出了某个状态下的所有销售(即,每个记录都是一个特定的销售),其中包含sellername和buyerzip字段。我希望有另一个表“卖方”,其中将包括卖家名称,也包括字段,以定义由邮政编码的卖方市场区域-比方说,50+邮政编码定义一个市场,卖方可以定义多个市场。

这些市场区域将用于将来的查询:显示特定市场区域中的所有销售。

我该从哪里开始思考如何存储“市场区域”数据,然后将其用于未来的查询?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-19 05:39:23

表结构:

sellerName

  • Market

  • Sales表: ID,sellerID,buyerZipcode,amount

  • 卖方表: ID,sellerID表: ID,marketID表: ID,zipCode

示例数据

将第一条评论中的信息编码为您的问题

市场表

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“值的总和。

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2013-01-19 04:54:10

我将在这里做以下假设:

  1. 卖家拥有多个市场
  2. A市场可以跨越多个邮政编码
  3. 只有一个卖家负责一个市场
  4. 市场不能与

重叠

通向下面的结构...

销售表卖家| buyerzip

markets表market | market_zipcodes_id

邮政编码表格market_id |邮政编码

希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14407373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档