我在 SQLite 数据库中有 3 个表:
歌曲:
_id | name | length | artist_id | album_id
艺术家:
_id | name
专辑:
_id | name
我需要artist_id
在Songs
表中才能拥有多个值。实现这一目标的最佳方法是什么?
1- 将其设为字符串字段,其值类似于:1, 2, 5
,其中每个数字代表Artists
表中的一个 id。
2-为表中的每条记录创建一个表Songs
,其中每个表都有多个值(似乎非常糟糕的解决方案?!)。
3-创建一个包含以下字段的表:
_id | artist_id
where_id
表示_id
在Songs
表中,不是主键。Whileartist_id
是艺术家的 id。
问题的第二部分:
如果我正确创建了 3 个表,我如何编写查询以获得下表:
_id | name | length | artist1_id | artist1_name | artist2_id | artist2_name | ...
我将一首歌的所有艺术家放在一张桌子上(尽管大多数歌曲只有一个艺术家,有些没有)。