我的数据库中有以下表格。
呼叫:
ID Name
1 Call1
2 Call2
3 Call3
注意:
ID Name
1 Note 1
2 Note 2
人:
ID Name
1 Andrew
PersonCalls:
ID CallID PersonID
1 1 1
2 2 1
PersonNotes:
ID NoteID PersonID
1 1 1
1 2 1
现在我需要根据人员ID从这些表中获取数据。我能够从2个表中获取数据,例如Notes和PersonNotes,但是我无法从这些表中获取组合数据。这应该是结果。
结果:
PersonID Note Call
1 Note1 Call1
1 Note2 Call2
请建议
由于
答案 0 :(得分: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
答案 1 :(得分:0)
如果您使用的是MS SQL服务器,如果不太详细,可以在dbo.calls.ID,dbo.notes.id,dbo.person.id等上使用左连接。否则你确定你不能只写一份报告吗?