怎样实现多角度查询

flyingsheep_mrl 2014-08-13 03:25:58
有两个表A 、B,没有相同的字段

表A:
地区 城市
————————
广东 广州
广东 深圳

表B:
日期
——————
20080101
20080102
20080103

想要合并成这样:
地区 城市 日期
广东 广州 20080101
广东 广州 20080102
广东 广州 20080103
广东 深圳 20080101
广东 深圳 20080102
广东 深圳 20080103

日期是一天一条记录,所以相当多的记录,请问有什么高效的合并方法啊?
抛砖引玉:
我的目的是想让表既能以日期查询,也能以地区城市查询,因为还要连接其他的表,比如销售表和退货表,所以这个表必须包含全地区和整个日历表的数据,如果还要按产品查询,那么还需要包含全部产品记录,请教高手这样的表应该怎样进行整合比较高效?谢谢赐教!
...全文
120 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
reenjie 2014-08-13
  • 打赏
  • 举报
回复
在銷售表、退貨表中新增兩個字段,即“地區”,“日期”。銷售表與表A、表B建立引用關係。
flyingsheep_mrl 2014-08-13
  • 打赏
  • 举报
回复
shoppo0505,我有点理解你的思路,能不能详细说说这个实现方法?
flyingsheep_mrl 2014-08-13
  • 打赏
  • 举报
回复
对的,就是这个意思,换个角度就是要实现从时间维度、产品维度和地区维度去查询,但在二维里面是实现比较困难
shoppo0505 2014-08-13
  • 打赏
  • 举报
回复
如果实时进行链接,服务器压力会很大。 可以再建一个表,设置好index等,数据插入使用触发器,触发器建立在A,B两表之后,当数据有变动的时候,触发器修改新表中的数据。
shiyiwan 2014-08-13
  • 打赏
  • 举报
回复
为了查询的灵活性,不应该合并表。 其实这种设计思想就是数据仓库的雪花模型,时间和城市作为维度表存在,销售和退货表作为事实表存在。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧