首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL虚拟表

SQL虚拟表
EN

Stack Overflow用户
提问于 2009-12-19 00:47:24
回答 4查看 1.8K关注 0票数 0

我的数据库是这样设置的:

我的每个产品都有自己的表,其中记录了售出数量/交易编号(因此列1是"transactionID",列2是" quantity ")

例如) p-反向抓取器(其中p-表示"product")

还有每年的表,其中保存了每笔交易的记录。每个表包含以下列:"transactionID“、"date”、"time“、"pt_CA”、"pt_DB“、"pt_VC”、"pt_MC“、"pt_CH”、"pt_AM“

例如,2008年的销售额、2009年的销售额等

我希望能够引用单个表,该表包含每年的所有记录,而不必更改表的sql以包含新的年份。

例如,我想查询"p-backScratcher“的所有事务,我不想输入

代码语言:javascript
复制
SELECT sales-2008.date, sales-2009.date 
  FROM sales-2008, sales-2009 
 WHERE sales-2008.transactionID = p-backScratcher.transactionID 
    OR sales-2009.transactionID = p-backScratcher.transactionID

更确切地说是...but:

代码语言:javascript
复制
SELECT sales.date 
  FROM sales 
 WHERE sales.transactionID = p-backScratcher.transactionID
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-19 00:52:58

我希望能够引用一个表,该表保存了每年的所有记录,而不必更改表的

以包含新的年份。

这就是为什么您不应该为每个产品使用一个表,也不应该每年使用一个表。

您需要的是一个"Product“表和一个"Transaction”表。

票数 2
EN

Stack Overflow用户

发布于 2009-12-19 00:50:35

在SQL语言中,正如Kyle的回答所说,您可以创建一个视图,这是一种虚拟表,但我强烈建议您在致力于数据库结构之前,先阅读一本书或关系数据库设计

票数 4
EN

Stack Overflow用户

发布于 2009-12-19 00:48:11

您正在寻找的是一个称为"View“的语句,它很可能是一个存储语句,是一个格式正确的结果列表。您可以像查询表一样直接查询它。

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

https://stackoverflow.com/questions/1929414

复制
相关文章

相似问题

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