我正在使用Access 2007,我比SQL更適合使用SQL。在閱讀本網站上與MS Access中的連接相關的幾個線程之後,我想我正確地做了這件事,但我被告知我的where子句中有一個語法錯誤,下面是新的改進版本:MS Access 2007語法:從加入加入加入其中
FROM ((Patron P
INNER JOIN Patron_Address PA1 ON
(PA1.patron_id = P.patron_id)
LEFT JOIN Patron_Address PA2 ON
(PA2.patron_id = P.patron_id)
LEFT JOIN Patron_Address PA3 ONL
(PA3.patron_id = P.patron_id)
where PA1.address_type = '1'AND
PA2.address_type = '2' AND
PA3.address_type = '3';
讓我解釋一下我的目標 靠山元組有1-3 patron_address元組 這些地址行有三種類型:。
- 永久
- 臨時
- 電子郵件
此外,
- 的一位顧客必須有一個patron_address一行address_type 1
- 的一位顧客可以具有patron_address一行address_type 2
- 的一位顧客可以具有patron_address一行address_type 3
我需要獲取每個patron_id的所有地址行的地址信息。來自每個地址行的數據需要放入查詢結果集中的列中,然後我需要將其轉換爲製表符分隔的文件以發送給供應商。
這就是爲什麼我正在做一個連接,這就是爲什麼我需要使用標準。 從邏輯上講,每個連接的結果應該有它自己的where子句,但顯然這是不允許的。所以我有一個where子句列出了三個條件。存在的問題是這三個條件中只有一個適用於每個連接。
那麼我需要在概念上和語法上做些什麼來獲得我想要的結果呢?感謝最近幾天這個怪物的幫助。我想,我正在接近。然後再次,我可能只是移動我的錯誤。
我已經使SQL呈現得更好一些,但它可能仍然可以對縮進進行整理。使用預覽工具並確保您的問題看起來不錯可能有助於獲得答案。 – Rook
*我比SQL更適合使用SQL *有趣的評論給出了Access運行SQL,這是一種特殊用途的聲明式編程語言。 – Parfait