0

我的数据库中有以下表格。

来电:

ID  Name
1   Call1
2   Call2
3   Call3

笔记:

ID  Name
1   Note 1
2   Note 2

人:

ID  Name
1   Andrew

个人电话:

ID  CallID  PersonID
1   1       1
2   2       1

人物备注:

ID   NoteID  PersonID
1    1       1
1    2       1

现在我需要根据 person id 从这些表中获取数据。我能够从 2 个表中获取数据,例如 Notes 和 PersonNotes,但我无法从这些表中获取组合数据。这应该是结果。

结果:

PersonID    Note    Call
1           Note1   Call1
1           Note2   Call2

请建议

谢谢

4

2 回答 2

2

使用联接即:内部联接):

select distinct p.ID as PersonID, n.Name as Note, c.Name as Call from Person p
inner join PersonCalls pc on p.ID = pc.PersonID
inner join PersonNotes pn on p.ID = pn.PersonID
inner join Calls c on pc.CallID = c.ID
inner join Notes n on pn.NoteID = n.ID
于 2013-10-29T01:34:32.537 回答
0

如果您使用的是 MS SQL 服务器,您可以在 dbo.calls.ID、dbo.notes.id、dbo.person.id 等上使用左连接,无需太详细。否则你确定你不能只写报告?

于 2013-10-29T01:32:18.427 回答