グッドモーニングみんなここで行く、私はアクセス2010でクエリをやっていると私は奇妙な行動を取得していますので、私はあなたの意見を聞いてみたい:アクセス2010奇妙な行動
SELECT X.*, L.CodLinea
FROM (
SELECT TOP 1 'LBASE' AS CodLinea, 'Linea Base' AS Descrizione FROM ParametriAzienda
) AS X LEFT JOIN Linee AS L
ON X.CodLinea = L.CodLinea
上記LBASE」に等しい値を持つL.CodLineaと呼ばれる別の列と行を返す必要がありますように、左が参加やって、今
CodLinea | Descrizione
----------+--------------
LBASE | Linea Base
:内側のクエリは次のようになります2つのcolumsで常にONE行を与えますテーブルのLineeが 'LBASE'を内部に持っているかどうかに応じてNULLを返します。値が存在しない場合、値が存在する場合は
X.CodLinea | X.Descrizione | L.CodLinea
+-------------+-----------------+--------------+
LBASE | Linea Base | LBASE
、または
X.CodLinea | X.Descrizione | L.CodLinea
+-------------+-----------------+--------------+
LBASE | Linea Base | null
:だから、結果はすることができます。確かに私が得るものは次の通りです。
X.CodLinea | X.Descrizione | L.CodLinea
+-------------+-----------------+--------------+
LBASE | Linea Base | 0
LBASE | Linea Base | 0
LBASE | Linea Base | 0
LBASE | Linea Base | 0
LBASE | Linea Base | 0
これは間違いなく可能です。 b)0はLBASEと等しくないか、そうでない。 LEFT JOIN(INNER JOINと同様)またはRIGHT JOINの代わりにWHEREを使用すると、結果は正しい(0行)。
何が問題になりますか?
EDIT:実際にはParametriAziendaには1行しかなく、LineeにはLBASE値が含まれていません。
また、これはJet 4.0(.mdb)でテストされており、Access 2010もACE(.accdb)でも問題はありません。 – onedaywhen