[英]Subquery in access with self-join, it does not recognize table alias
我建立了一些子查詢:
select
q2.addedquests, q2.daynum
from
qrNumberOfQuestsToDo as q2
inner join
qrNumberOfQuestsToDo as q3 on q2.daynum > q3.daynum
where
q2.DayNum = (select max(q3.DayNum) from q3);
但是MS Access無法在子查詢中識別q3
。 為什么?
為什么不? 因為這就是SQL的工作方式。 您可以在子查詢中引用 q3
的列(例如,在select
, where
, group by
, having
, order by
或on
子句中),但不能引用整個表。
我正在繼續,但我認為查詢是無意義的。 在一個地方,查詢說q2.daynum > q3.daynum
。 在另一個q2.daynum = q3.daynum
, q2.daynum = q3.daynum
。 因此,查詢將不會返回任何內容。 但是,您仍然可以將其表示為有效的SQL。 請注意,外部查詢中實際上並不需要q3
。 請嘗試使用相關子查詢:
select q2.addedquests, q2.daynum
from qrNumberOfQuestsToDo as q2
where q2.DayNum = (select max(q3.DayNum)
from qrNumberOfQuestsToDo q3
where q2.daynum>q3.daynum
) ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.