[英]JOIN Expression not supported, or is the left join?
當前正在調試一段代碼以適合Access SQL查詢。
代碼如下:
select tk, tk2, count(*), count(a2.tk) / count(*) as ratio
from ((select distinct a.TK, a2.TK as tk2
from access3 as a join
access3 as a2
on (a.DocumentNo = a2.DocumentNo)
where a.TK <> a2.TK
) tt left join
access3 as a
on (a.tk = tt.tk)
) left join
access3 as a2
on (a2.tk = tt.tk2 and a2.DocumentNo = a.DocumentNo)
group by tk, tk2;
我查了一下,發現了這個帖子
因此,我嘗試放入括號。 當我跑步時,我需要排隊
(a2.tk = tt.tk2 and a2.DocumentNo = a.DocumentNo)
並突出顯示它。 因此,這條線有些不受歡迎。
我想我了解如何重寫聯接代碼,但是如何重寫左聯接代碼以滿足Access的挑剔要求?
或者,是否有更好的程序可以使用,我可以連接到Access並復制並粘貼代碼? 我嘗試了免費版本的DBeaver,但我認為它處理起來太多了,因為它帶回了200行查詢(這是錯誤的),該查詢花費了5分鍾的加載時間,當我向下滾動時,它會重新查詢並提取更多的數據,也錯了。
在DB Fiddle中嘗試了一個樣本大小,它可以完美地工作,因此代碼可以工作,只是DBeaver由於某種原因沒有正確執行它。
更改join
到inner join
- MS Access不能解釋join
自動為內連接。
您可能還需要在字段tk
和tk2
前面加上表限定符,因為在您引用的表中似乎有多個具有這些名稱的字段:
例如, select tt.tk, tt.tk2, count(*), count(a2.tk) / count(*) as ratio
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.