【发布时间】:2010-07-29 22:09:52
【问题描述】:
我有一个包含三个表的 sqlite 数据库:Notes、Lists 和 Notes-in-Lists。
Notes 和 Lists 都有一个自动生成的 id 列和一些额外的数据列,例如标题。 Notes-in-Lists 是一个关联表,带有一个自动键和两个指向 Note id 和 List id 的外键。
我有一个查询返回给定列表中的所有笔记:
Select _id, title From Notes
Join Notes_in_Lists On Notes._id=Notes_in_Lists.note_id
Where Notes_in_Lists.list_id=2
例如,这将返回列表 2 中的所有笔记标题和 ID。
但是,笔记可以在多个列表中,我需要能够判断笔记是否与多个列表相关联。这通过在 Notes_in_Lists 表中多次列出的同一 Notes_in_Lists.note_id 来表示。
自己做很容易:
Select Count(note_id) From Notes_in_Lists Where note_id=2
但我需要将上面的两个查询合并为一个查询,我不知道从哪里开始。
编辑
样本数据
Notes:
_id title
1 "Note 1"
2 "Note 2"
3 "Note 3"
4 "Note 4"
Note_in_Lists
_id note_id list_id
1 1 2
2 1 3
3 2 2
4 3 1
5 4 2
6 4 4
7 4 5
示例输出(查询列表 2 的内容):
_id title numberOfLists
1 "Note 1" 2
2 "Note 2" 1
4 "Note 4" 3
【问题讨论】:
-
请提供预期输出的示例。
-
我认为示例输出可能具有误导性,因为列表 2 中没有“注 4”。