首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据时间选择行,如果表为空,则选择所有行

根据时间选择行,如果表为空,则选择所有行
EN

Stack Overflow用户
提问于 2013-04-23 05:36:45
回答 1查看 76关注 0票数 0

我有两张桌子。一个是生产表,另一个是每日报表。每天都会清空每日报告表。每日报告表是生产表的一个子集。我想用生产表中的所有新行来更新日表。我考虑过使用where子句;

代码语言:javascript
复制
SELECT ftime, 
       fdate, 
       fdata, 
       fdata2 
INTO   table2 
FROM   table1 
WHERE  ftime > table2.ftime 

我不太走运。我是SQL的新手,我只是不确定如何去做,并且似乎在网上找不到关于这个特定问题的任何东西。

当我让它工作时,它最终会进入一个存储过程。

任何提示,提示,都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-23 05:46:22

代码语言:javascript
复制
SELECT ftime, 
       fdate, 
       fdata, 
       fdata2 
INTO   table2 
FROM   table1 
WHERE  ftime > (select MAX(ftime) from table2)
   OR  NOT EXISTS (select * FROM table2);

如果table2为空(例如,如果您刚刚完成了日常清除),则所有table1都将被拉入table2。

否则,它只会使用ftime从table1插入比table2中存在的记录更晚的新记录。

确保在table2.ftime上有索引

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

https://stackoverflow.com/questions/16157157

复制
相关文章

相似问题

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