我不确定这在 sql 中是否可行。
我有以下表格:
- “文档”包含列 id 和 authors
- "authors" 包含列 id、initial 和 lastname
- "authorships" 包含列 id、document_id 和 author_id
文档可以有多个作者。
我需要文档表中的作者列包含作者表中的姓氏和首字母,格式相应:
“博客,J. Doe,J. Punchclock,P. Botts,D。” ETC...
例如:
文件
| id | title | authors |
-------------------------------------
| 1 | Arms and the Man | |
| 2 | East of Eden | |
| 3 | If Not Now, When? | |
作者
| id | initial | lastname |
--------------------------------
| 1 | J | Bloggs |
| 2 | J | Doe |
| 3 | P | Punchclock |
| 4 | D | Botts |
作者身份
| id | document_id | author_id |
----------------------------------
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 1 | 3 |
| 4 | 2 | 3 |
| 5 | 2 | 4 |
| 6 | 3 | 1 |
| 7 | 3 | 3 |
| 8 | 3 | 4 |
我需要将文档表中的作者列更新为:
| id | title | authors |
-----------------------------------------------------------------
| 1 | Arms and the Man | Bloggs, J. Doe, J. Punchclock, P. |
| 2 | East of Eden | Punchclock, P. Botts, D. |
| 3 | If Not Now, When? | Bloggs, J. Punchclock, P. Botts, D. |
如果可能的话,我需要一个 sql 语句才能做到这一点 - 将多个值附加到一列?