pubs数据库的sql查询

时间:2016-09-28 22:09:02

标签: sql database pubs

如果我想在pubs数据库中为每个标题单个获取多个作者。是否可以使用枢轴? 该表与此查询相结合

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;

这显示多个作者有多个标题,但我想让每个标题和所有作者在一行中提到

Diagram

1 个答案:

答案 0 :(得分:0)

PIVOT仅在您事先知道列时才有效。

对于标题的未知作者数量,您只能生成包含所有名称的字符串列,例如'马克吐温,罗伯特路易斯史蒂文森'。因此,对于所有名称,您总是只能获得一列。这是一个字符串聚合,不同的DBMS具有不同的功能(GROUP_CONCATLISTAGGSTRING_AGG等),您可以按标题分组。