2 つの mySQL サーバーがあります。オフラインはバージョン 5.5.25、オンラインはバージョン 5.0.95 です。UNION SELECT を実行して 2 つの結果セットを結合しようとしています。両方のクエリは、同じ結合を使用して同じテーブルから同じデータを抽出します。それぞれの唯一の違いは where クエリです。基本的な構文は次のとおりです。
(SELECT QUERY A)
UNION
(SELECT QUERY B)
ORDER BY date_created DESC, subscription_rate_id ASC
このクエリをオフラインで実行すると、次のエラーが発生します。
エラー番号: 1064
SQL 構文にエラーがあります。
webmaster
'INNER JOIN d ONの近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してくださいd
。dupe_master_id
=webmaster
.webmaster_id
IN' 16 行目
クエリを個別に実行すると、両方とも機能します。クエリ全体をオンラインで実行すると、機能します。これは、2 つの新しいバージョンの mySQL を実行しているオフラインの mySQL でのみ発生します。エラーはクエリ B に関連していると思いますが、同じ INNER JOIN がクエリ A にあります。
クエリは非常に長く、簡単に短縮/分割できないため、ここに貼り付けていません。絶対に必要な場合は、提供する方法を見つけます。
どんな助けでも感謝します。