MySQL 4 で実行されている MySQL ステートメントが多数ありますが、MySQL 5 では実行されていません。これらは、UNION と JOIN を組み合わせたステートメントです。
MySQLステートメントを単純化しようとすると、MySQL 4では実行されますがMySQL 5では実行されない次のようになりました。
SELECT
bteamres.rank AS `rank`
FROM
bteamres
LEFT OUTER JOIN (btourn AS tourn) ON (bteamres.tourncode=tourn.tourncode)
WHERE
(bteamres.nofivb1=100427)
UNION
SELECT
bteamres.rank AS `rank`
FROM
bteamres
LEFT OUTER JOIN (btourn AS tourn) ON (bteamres.tourncode=tourn.tourncode)
WHERE
(BTEAMRES.NOFIVB2=100427)
私が受け取るエラーコードは次のとおりです。
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON (bteamres.tourncode=tourn.tourncode)
WHERE
(BTEAMRES.NOFIVB2=100427)' at line 15
結合を削除すると、MySQL 4 と MySQL 5 の両方でリクエストが正常に機能します。
ご協力ありがとうございました。パトリック