首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过SQL语句合并DB表中的数据?

如何通过SQL语句合并DB表中的数据?
EN

Stack Overflow用户
提问于 2009-03-11 22:59:13
回答 2查看 650关注 0票数 0

对于Interbase,我有一个有趣的问题。我有一个记录集,其中有一个数据输入字段和每个记录的时间戳。我希望能够从记录中复制时间戳,以便在一天结束时,最终字段将沿着以下行显示:

代码语言:javascript
复制
TIMESTAMP <Carriage return> <carriage return> Original data in field

因此,显示该字段时的最终外观为:

代码语言:javascript
复制
time of entry

data that was entered

遗憾的是,这必须在数据库级别完成,因为我没有访问前端软件的权限。

我能想到的唯一解决方案是执行select,使用自定义软件执行合并,然后逐行生成适当的SQL来更新记录。由于每天有数百条记录,这是相当慢的,因此基于SQL的解决方案将是理想的。

在过去,我成功地将固定数据添加到字符串的末尾,使用||UPDATE指令( data ||对所有记录都相同的额外信息“)连接,但在以下格式中工作时遇到了困难:

代码语言:javascript
复制
result of search||original data 

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2009-03-12 00:59:59

代码语言:javascript
复制
UPDATE FOO_TABLE
  SET DATA_ENTRY_FIELD = DATA_ENTRY_FIELD || TIMESTAMP_FIELD
WHERE ...;

这应该可以工作(前提是DATA_ENTRY_FIELD有连接的空间)。如果它不工作,请更具体地说明您遇到了什么问题。

票数 1
EN

Stack Overflow用户

发布于 2009-03-15 18:21:32

Craig的答案应该是有效的,尽管如果你想要回车符,你也需要插入这些:

代码语言:javascript
复制
UPDATE  foo_table
SET     data_entry_field = timestamp || '\n\n' || data_entry_field
WHERE   ...

(假设Interbase接受\n作为回车--这实际上应该是\r,甚至是\r\n,但\n是相当标准的。)

MySQL不能识别||连接运算符,因此您必须使用CONCAT()函数。Interbase可能也是一样的。

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

https://stackoverflow.com/questions/636701

复制
相关文章

相似问题

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