2012-10-21 40 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中清楚,但我也傾向於聯合查詢。 –