0

一部の MS Access クエリを Transact-SQL 形式に変換している最中で、いくつかの問題が発生しました。Join 内に Join を記述する方法はありますか?
例えば:

LEFT JOIN (TaxInfo RIGHT JOIN TaxInfoJackpot 
           ON TaxInfo.RefNumber = TaxInfoJackpot.RefNumber) 
ON HandPay.SlipNumber = TaxInfoJackpot.SlipNumber

もちろん、これははるかに大きなクエリのスナップショットにすぎません。しかし、これが可能かどうかを誰かが知っていれば、どんな助けも素晴らしいでしょう.

前もって感謝します。

4

2 に答える 2

4

私は、可能であれば、すべての結合が連続して同じ方向に流れるようにする傾向があります (可能な場合は、常に順序を変更するようにしています)。LEFT JOIN / RIGHT JOIN / ON / ON は、私自身を含め、誰にとっても非常に混乱を招くものであり、私はこれを非常に長い間行ってきました。Access が送り出す (そして受け入れる) 奇抜な構文は、誰にも有利にはなりません。

現在の構文で期待どおりの結果が得られるかどうかはわかりませんが、この形式と比較して同じかどうかを確認できますか? サンプルデータと望ましい結果がなければ、確実に知ることは困難です。

SELECT ...
  FROM dbo.TaxInfoJackPot AS jp
  LEFT OUTER JOIN dbo.HandPay AS hp
    ON hp.SlipNumber = jp.SlipNumber
  LEFT OUTER JOIN dbo.TaxInfo AS ti
    ON jp.RefNumber = ti.RefNumber;
于 2013-12-13T21:48:16.550 に答える