我正在爲學術論文創建一個存檔。每篇論文可能有一位作者或多位作者。我創建以下列方式表:將三個表連接在一起
- 表1:PaperInfo - 每行包含紙張
- 表2的信息:PaperAuthor - 只有兩列:包含PaperID,並且屬於AuthorID
- 表3:AuthorList - 包含作者信息。
還有一個與表4相關的表4,表4列出了作者所屬的大學列表,但如果過於複雜,我將暫時忽略它。
我希望有一個查詢,將所有三個表連接在一起,並在表中顯示記錄的紙張的信息,與諸如下列:
- 文章
- 論文作者
列「Paper Authors」在某些情況下將包含多個作者。
我已經寫了下面的查詢:
SELECT a.*,b.*,c.*
FROM PaperInfo a, PaperAuthor b, AuthorList c
WHERE a.PaperID = b.PaperID AND b.AuthorID = c.AuthorID
到目前爲止,我已經得到每行的結果是每行一個作者。我希望在一列中包含更多作者。無論如何,這可以做到嗎?
注意:我使用Access 2010作爲我的數據庫。
這取決於您使用的是哪種SQL風格。例如:這可以在PostgreSQL(使用array_agg函數)/ MySQL(使用group_concat函數)中輕鬆完成。所以,告訴我們你正在使用什麼SQL數據庫。 – 2013-09-30 12:07:19
您正在使用哪些DBMS? Postgres的?甲骨文? –