[英]Syntax error on LEFT OUTER JOIN
我有以下MySQL查詢:
SELECT w1.Id
FROM Wills w1 LEFT OUTER JOIN Wills w2
WHERE w1.Id = w2.Id + 1
AND w1.Tmp > w2.Tmp
通過查詢,我想比較具有相鄰Id
的行。 我想選擇Tmp
字段比其前任更大的那些。
但是,出現以下錯誤:
Runtime Error Message:
Line 3: SyntaxError: near 'WHERE w1.Id = w2.Id + 1
AND w1.Tmp > w2.Tmp'
我在SQL和MySQL方面沒有太多經驗。 我的加入有誤嗎?
您錯過了ON
子句:
SELECT w1.Id
FROM Wills w1 LEFT OUTER JOIN Wills w2 ON w1.Id = w2.Id + 1
and w1.Tmp > w2.Tmp
您需要將條件放在ON
子句中,而不是WHERE
子句中:
SELECT w1.Id
FROM Wills w1 LEFT OUTER JOIN
Wills w2
ON w1.Id = w2.Id + 1 AND w1.Tmp > w2.Tmp;
如果任一條件在WHERE
,則LEFT JOIN
將變為INNER JOIN
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.