SQL查询帮助 - 将值合并到列中的所有行

时间:2010-03-16 20:55:58

标签: sql merge sql-update

我正在尝试将网站从joomla系统迁移到drupal。问题是drupal需要同一行中的filename和sourcepath,但是joomla只有filename。我正在寻找一种方法在该列的所有行中的文件名之前添加sourcepath。 我认为这是我应该使用的UPDATE语句,但我无法弄清楚如何构造查询。

这里有一个有类似问题的人,但我发现该帖子中的答案对我的问题没有帮助:http://www.daniweb.com/forums/showth...t+value&page=2

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

将一列中的值附加到另一列的开头(假设两列都在同一个表中):

update files
set
   filename = CONCAT(path, filename)
from files

(您可能需要更正表名/列名...我只是在猜测)

答案 1 :(得分:0)

@Dexter,感谢您带领我参加CONCAT活动!它解决了这个问题。首先,我创建了一个名为path的新列,并使用图像路径更新了所有行。然后我运行了这个查询:UPDATE jos_joomgallery SET imgfilename = concat(path,imgfilename);

当然,

jos_joomgallery是表格。我使用FROM命令时遇到错误,显然不需要它。

@tomfanning,我不知道字符串文字是什么,我用Google搜索了一下但找不到任何使用信息。不管怎样,谢谢。

@Jaxidan,我想这可行,但我无法弄清楚如何将文件名引用到存储它们的列。