如何连接列sql中同一行的所有值?

时间:2014-10-15 14:49:55

标签: sql concatenation

请在表格中考虑以下记录:

ID    Name    City
------------------
1    SAM      New York
2    Mike     Orlando
3    Jane     Boston

我想从查询中获得以下结果:

1,SAM,New York
2,Mike,Orlando
3,Jane,Boston

我想使用其他解决方案,而不是使用'+'的经典连接,因为有很多列,我需要将它应用于多个表。

你能不能给我任何想法?

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

SELECT CONCAT(`id`, ' ', `name`, ' ', `city`) as `row` FROM `table`

使用CONCAT功能

答案 1 :(得分:0)

根据您的DBMS,您可以将列分隔符设置为逗号,并将输出格式设置为未对齐。

答案 2 :(得分:0)

我可以想象以下情景:

  1. 创建程序或功能
  2. 将表名作为参数
  3. 传递
  4. 在函数中选择表中的列,迭代它们并创建所需的sql。我的意思是它将生成像SELECT column1||','||column2,...FROM you_table
  5. 这样的sql
  6. 使用EXECITE IMMEDIATE(如果是Oracle)执行它,取决于数据库
  7. 使用结果