-1

パブデータベースのタイトルごとに複数の著者を単一で取得したい場合。ピボットを使用することは可能ですか? テーブルはこのクエリで結合されます

SELECT CONCAT(a.au_fname,', ',a.au_lname) AS AUTHOR_NAME,
       t.title 
FROM titleauthor AS c
join authors AS a 
ON   a.au_id=c.au_id
join titles t
ON   t.title_id=c.title_id;

これは複数のタイトルを持つ複数の著者を示していますが、各タイトルとすべての著者を1行に記載したい

ダイアグラム

4

1 に答える 1

0

PIVOT事前に列がわかっている場合にのみ機能します。

タイトルの著者数が不明な場合、「マーク トウェイン、ロバート ルイス スティーブンソン」など、すべての名前を保持する文字列列しか生成できません。したがって、すべての名前に対して常に 1 つの列しか得られません。これは文字列の集約であり、異なる DBMS には異なる機能 ( GROUP_CONCAT、など) がありLISTAGGSTRING_AGGタイトルでグループ化します。

于 2016-09-28T22:31:41.940 に答える