gpt4 book ai didi

sql - Oracle SQL - 如何在一行中显示一对多关系?

转载 作者:行者123 更新时间:2023-12-05 08:57:26 26 4
gpt4 key购买 nike

<分区>

我有一个名为 MY_MOVIES 的表,其中包含两列:MOVIES 和 GENRES,就像这样(关系是一部电影与多种类型):

GENRE         MOVIE
---------- --------------
ACTION MOVIE1
DRAMA MOVIE1
CRIME MOVIE2
DRAMA MOVIE2
CRIME MOVIE3
DRAMA MOVIE3
ACTION MOVIE4
ADVENTURE MOVIE4
FANTASY MOVIE4
ANIMATION MOVIE5
ADVENTURE MOVIE5
COMEDY MOVIE5

这个表有超过 100000 行。

我试图得到这样的输出:

MOVIES        GENRES
---------- --------------
MOVIE1 ACTION, DRAMA
MOVIE2 CRIME, DRAMA
MOVIE3 CRIME, DRAMA
MOVIE4 ACTION, ADVENTURE, FANTASY
MOVIE5 ANIMATION, ADVENTURE, COMEDY

我正在尝试像这样使用 PIVOT(后来有了将 0 和 1 替换为流派的想法):

SELECT * FROM MY_MOVIES 
PIVOT (COUNT(MOVIE) FOR GENRE in (SELECT DISTINCT(GENRE) FROM MY_MOVIES) as MOVIE_GENRES

我一直认为我做错了。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com