テーブル2に存在しないかステータスがnullのすべての値を取得するために2つのテーブルに対して左結合を実行しようとしています。複数の列でMicrosoft Access 97/XP左結合が失敗する - Vista/7が正常である
表1には長いROIDがあります。
表2には、ID long、Type long、およびStatus textがあります。
私はV.Type = 2を削除するとこれが(私はVには存在しないすべてのレコードを取得)Vistaと勝利7で正常に動作しますが、私はXPには、レコードを取得していない、
SELECT roid
FROM
wo AS w LEFT JOIN VFlag As V ON (w.roid = V.ID AND V.Type = 2)
WHERE
(V.Status is Null)
、それはXP/Vistaの/ 7上で正常に動作しますが、私は、同様の種類に修飾する必要があります。
SELECT roid
FROM
wo AS w LEFT JOIN VFlag As V ON (w.roid = V.ID)
WHERE
(V.Status is Null)
これは、両方のADOとVISDATAを使用してVB6です。 WHERE isnull(V.Status)は何の違いもありませんでした。 XPマシン(2台がテスト済み)はSP3です。
、doesntの仕事に固定された症状を説明できます。そのテーブルに一致するIDがない可能性があります。 –
ちょうど不思議なことに、XP上で実行しているときにV.Typeの値( "SELECT、roid、V.Type ...")をONから削除した後、その値を表示しようとしましたか? Vista/7で?すべてのO/Sのすべてのテーブルに同じデータが含まれていますか? –
うん、私はいくつかのマシンにデータベースをコピーしました。前に言ったことを続けると、私はWHERE(V.TypeはNullまたはV.Type = 2)を実行することでそれを得ることができると思います。 Idはまだむしろ理由を見つけます。 –