【问题标题】:SQL concatenate - INSERT MANY VALUES TO ONE ROWSQL 连接 - 在一行中插入多个值
【发布时间】:2020-03-28 21:41:20
【问题描述】:

我目前正在尝试将 3 行添加到 1 行中,以便信息用“,”分隔,就像使用串联一样。但是,我对此并不陌生,任何帮助都会很有用。以下是我当前的代码以及我尝试过的代码。

下面这段代码不起作用:

insert into GENRES (GENRES) 
select VALUES GENRE1,GENRE2,GENRE3 
from TITLES;

我也试过下面这段代码,它插入了行但不是我想要的格式:

insert into GENRES (GENRES) 
SELECT GENRE1 FROM titles
union all
SELECT GENRE2 FROM titles
union all
SELECT GENRE3 FROM titles;

显示的内容:

  GENRES
1 ACTION
2 ADVENTURE
3 ROMANCE

例如,我需要它以这种格式显示:

  GENRES 
1 Action, Adventure, Romance

【问题讨论】:

  • 在 GENRES 表中每个流派可能有一行是一个很好的设计。如何选择显示它们是另一回事。例如,您可以查看listagg 函数。

标签: sql oracle sql-insert


【解决方案1】:

它是串联。

insert into genres (genres)
select genre1 ||', '|| genre2 ||', '|| genre3
from titles

【讨论】:

    猜你喜欢
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    相关资源
    最近更新 更多