首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我正在创建一个SQLite数据库,但我有许多类似的表--有没有办法将它们组合起来?

我正在创建一个SQLite数据库,但我有许多类似的表--有没有办法将它们组合起来?
EN

Stack Overflow用户
提问于 2021-07-26 01:40:56
回答 1查看 34关注 0票数 0

所以我试图在游戏中的“股票市场”中存储产品的价格和数量信息,可用的数据是当前的购买价格,销售价格,最近7天内售出的商品数量,以及最近7天内购买的商品数量。

现在,我有一个过去24小时的购买价格表,列有(time,item1,item2,item3,...)在每一行中,有一个时间戳,然后是每件商品在那个时间的价格。

然后,我有一个几乎相同的表,分别表示卖价、买入量和卖出量(意思是,列名相同,但存储的数据不同)。

要重新创建表,请执行以下操作:

代码语言:javascript
运行
复制
CREATE TABLE buy_prices (
time INTEGER NOT NULL,
item1 INTEGER NOT NULL DEFAULT 0,
item2 INTEGER NOT NULL DEFAULT 0,
...
itemN INTEGER NOT NULL DEFAULT 0
);

对表sell_prices、buy_volume和sell_volume重复上述操作

每隔一段时间,表buy_prices就会更新为

代码语言:javascript
运行
复制
INSERT INTO buy_prices(time, item1, item2, ... itemN) 
VALUES (api_response['lastUpdated'], api_response['item1']['buy'], api_response['item2']['buy'], ... api_response['itemN']['buy']);

然后类似于sell_prices、buy_volume、sell_volume (对于api响应使用不同的密钥)

这是我第一次创建数据库,所以我觉得我遗漏了一些非常明显的东西,但是有没有办法将所有这些都组合到一个表中呢?在我的脑海中,我在想一个像字典一样的东西,每个单元格将存储所有4个值,但我不知道这是否可能,也不知道这是否合理。

我是否应该有许多相似的表,或者是否有一个在每个单元格中有许多值的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2021-07-26 01:57:18

您可以使用UNION或UNION ALL语句来合并这些表。UNION运算符删除消除重复行,而UNION ALL运算符不删除。

代码语言:javascript
运行
复制
with merged_table as(

select field1, field2, field3...., fieldn
from tablename1

union 

select field1, field2, field3...., fieldn
from tablename2 )

select * from merged_table;

您应该以相同的顺序从table1和table2中选择字段...

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

https://stackoverflow.com/questions/68521103

复制
相关文章

相似问题

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