1

次のMySQLクエリを実行するアプリケーションがあります。

         SELECT 402 AS user_id,
                p.id AS perm_id,
                p.name AS perm_name,
                lc.business_division_id,
                bd.name AS bd_name,
                bd.current_cycle, bd.current_moon,
                lc.name AS cycle_name,
                lc.milestone_date,
                lc.scorecard_date,
                bdm.name AS meta_name,
                bdm.value AS meta_value
           FROM lc_vc_cg_353.business_division bd,
                lc_vc_cg_353.business_division_meta bdm,
                lc_vc_cg_353.lunar_cycle lc
LEFT OUTER JOIN lc_vc_cg_353.permissions ps
                  ON ps.user_id = 402 AND ps.business_division_id = bd.id inner
           join lc_vc_central.permission p
                  ON ((ps.privilege_id IS NOT null AND p.id = ps.privilege_id)
                       OR
                      (ps.privilege_id IS NULL AND p.id = 1024))
          WHERE
                bd.active = 1
                  AND
                bdm.business_division_id = bd.id
                  AND
                lc.business_division_id = bd.id
                  AND
                lc.id = bd.current_cycle
       ORDER by bd.name asc;

本番サーバーは正常に動作し、MySQL v4.1.22(Redhat)を実行していますが、MySQL v5.1.43-communityを実行しているWindowsマシンで同じクエリを実行すると、次のエラーが発生します。

エラー1054(42S22):'on句'の不明な列'bd.id'

問題が何であるかについてのアイデアはありますか?特定の構文がMySQLの新しいバージョンで非推奨になっている可能性がありますか?

どんな助けでも大歓迎です。

4

2 に答える 2

1

スキーマも一致することを確認する必要があります。

business_divisionにはWindowsシステムにid列がありますか?

データベース名(例:lc_vc_cg_353)も一致すると思います。

構文に明らかなものは何も見えません。

于 2010-02-15T04:32:24.890 に答える
0

WindowsマシンにMySQLv4.1.22をインストールすることで、これを修正しました。

于 2010-03-17T05:43:04.967 に答える