2012-10-21 38 views
0

希望你一切顺利。SQL查询到AfterEvent函数

您可能已经看到过我之前相关的帖子之一,我在其中要求对组合框中的多个列提供一些帮助。我们将通过连接Salutation,FirstName和LastName字段来解决这个问题,以便让整个字段从中运行,这为我节省了一大堆时间。然而,我正在努力获得看起来像直接的SQL语句的工作。

我的SQL语句如下;

SELECT LocalAuthority.LocalAuthorityName, Contacts.ContactFullName 
FROM LocalAuthority, Contacts 
WHERE (((LocalAuthority.RequestType)=[Forms]![Requests]![cboRequestType])) 
     OR (((Contacts.RequestType)=[Forms]![Requests]![cboRequestType])) 
ORDER BY LocalAuthority.LocalAuthorityName, Contacts.ContactFullName; 

这这么想的工作,但是这并工作时,我只用地方政府在查询中的场源。我在“联系人”表中将“请求类型”字段作为链接到查询的组合框,但这不应该有很大的影响,应该是这样吗?

所有帮助非常感谢!

最佳,

威尔

+0

除非我遗漏了一些东西,那个查询没有定义** LocalAuthority **和** Contacts **表是如何链接的,那么连接在哪里? –

回答

1

我怀疑你需要一个联合查询:

SELECT ContactName FROM (
    SELECT RequestType, LocalAuthorityName As ContactName 
    FROM LocalAuthority 
    UNION ALL 
    SELECT RequestType, ContactFullName As ContactName 
    FROM Contacts) d 
WHERE d.RequestType = [Forms]![Requests]![cboRequestType] 
ORDER BY d.ContactName 

如果您需要知道哪些表,你可以说:

SELECT ContactName FROM (
    SELECT "Auth" As TFrom, RequestType, LocalAuthorityName As ContactName 
    FROM LocalAuthority 
    UNION ALL 
    SELECT "Contact" As TFrom, RequestType, ContactFullName As ContactName 
    FROM Contacts) d 
WHERE d.RequestType = [Forms]![Requests]![cboRequestType] 
ORDER BY d.ContactName 

UNION ALL更快,但会包含重复项,UNION速度较慢,但​​只包含唯一行。

+0

+1这个问题并没有从示例SQL中清楚,但我也倾向于联合查询。 –