[英]MySQL use subquery from FROM in WHERE
我對MySQL有疑問。 我的腳本如下所示:
SELECT *
FROM (subQuery) AS q1
WHERE
(SELECT something
FROM q1
WHERE id = q1.id-1) = x;
我的問題是在最后一個子查詢中,表q1
是未知的。 我該如何解決?
您無法比較結果中的行。 最好的辦法是復制子查詢,例如將其稱為q1b,然后將其連接到on q1.id - 1 = q1b.id
q1; 然后在哪里有類似q1b.something = x
東西(盡管也可以在ON中)
臨時表也有可能。 但您仍然需要兩個聯接,或者在where可行的情況下使用相關的子查詢。 ...如果存儲在一個真正的TEMPORARY表中,而不僅僅是存放在其中的一些“虛擬”表,則需要兩個副本。 您不能在同一查詢中兩次使用同一TEMPORARY表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.