MySQL の「ON 句の不明な列」エラーのトラブルシューティング
MySQL の「#1054 - 'on 句' に不明な列 '...'」エラーは通常、SQL クエリの結合構文に問題があることを示します。 これは、カンマ形式の結合とより新しい ANSI-92 JOIN
構文を組み合わせるときによく発生します。 データベースは結合順序を矛盾して解釈するため、エラーが発生します。
解決策は、結合方法を標準化することです。 スタイルを混在させないでください。代わりに、クエリ内のすべての結合に一貫して ANSI-92 JOIN
キーワードを使用してください。
修正を示す例を次に示します:
<code class="language-sql">SELECT p.*, IF(COUNT(ms.PropertyID) > 0, 1, 0) AS Contacted, pm.MediaID, DATE_FORMAT(p.AvailableFrom, '%d %b %Y') AS AvailableFrom, AsText(pg.Geometry) AS Geometry FROM property p JOIN propertygeometry pg ON p.PropertyGeometryID = pg.id JOIN shortlist sl ON sl.PropertyID = p.id AND sl.MemberID = 384216 LEFT JOIN message ms ON ms.PropertyID = p.id AND ms.SenderID = 384216 LEFT JOIN property_media pm ON pm.PropertyID = p.id AND pm.IsPrimary = 1 WHERE p.paused = 0 GROUP BY p.id;</code>
この一貫した JOIN
構文に従うことで、「ON 句の不明な列」エラーを防ぎ、MySQL クエリが正しく実行されるようになります。
以上が「ON 句の MySQL 不明な列」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。