【问题标题】:Query in a query? (MS Access)在查询中查询? (MS 访问)
【发布时间】:2015-03-19 19:31:37
【问题描述】:

例如,我有一个任务表:

TaskTitle DueDate Person Manager
Report     3/28/15  John   Dave
Inspection 4/10/15  Brian  Shane

还有一个联系人表:

ID   Contact  Email                Manager
1    John     john@company.com     False
2    Dave     dave@company.com     True
3    Brian    brian@company.com    False
4    Shane    shane@company.com    True

而我想做的是写一个这样的查询:

PEmail            MEmail             TaskTitle 
john@company.com  Dave@company.com   Report
brian@company.com Shane@company.com  Inspection

我可以得到查询以选择PEmail或MEmail,但不能同时选择?

SELECT [Contacts].[Email], [Tasks].[TaskTitle]
FROM tasks
LEFT JOIN [Contacts] 
ON [Tasks].[Person] = [Contacts].[Contact]

SELECT [Contacts].[Email], [Tasks].[TaskTitle]
FROM tasks
LEFT JOIN [Contacts] 
ON [tasks].[Manager] = [Contacts].[Contact]

这有什么特定的名称吗?多重连接还是多重选择?我真的被困在这上面了。

【问题讨论】:

  • 您可以在一个查询中对两个以上的表进行连接。实际上,您可以多次加入一个表。

标签: mysql sql ms-access


【解决方案1】:
SELECT [ManagerContacts].[Email] MEmail, 
       [PersonContacts].[Email] PEmail, 
       [Tasks].[TaskTitle]
FROM tasks
    LEFT JOIN [Contacts] ManagerContacts
ON [tasks].[Manager] = [ManagerContacts].[Contact]
    LEFT JOIN [Contacts] PersonContacts
ON [tasks].[Person] = [PersonContacts].[Contact]

【讨论】:

  • 不完全是这样,但我明白发生了什么,我的也开始工作了!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
  • 1970-01-01
  • 2021-04-12
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多