SQLの実行順序について質問があります。 MS-Accessでネストされたiif()条件文を使用しています。文字長が長すぎるため、この文でエイリアスを使用したかったのです。クエリのテーブル配置を逆にするMS Access更新クエリ。それはなぜ機能するのですか?
私はこれを(事故によって)試してみましたが、それはうまくいきません。実際に使用する必要があるのかどうかはわかりません。以下に、元の形式の短縮形の例を2番目の形式と比較して示します。一般的な表名を使用してその要点を取得するのに十分なステートメントがあります。
upDateMeテーブルを更新します。
オリジナル事前別名:
UPDATE upDateMe
INNER JOIN linkMe
ON (linkMe.UniqueID = upDateMe.UniqueID)
AND (linkMe.SrcNumber = upDateMe.SrcNumber)
SET upDateMe.ExpiryDate = [linkMe].[ExpiryDate]
, upDateMe.PermitEnd = [linkMe].[PermitEnd]...
は、ここで私は、テーブルを逆にし、別名 'BDATA' 内に置かれている:!この2番目のクエリは動作します
UPDATE linkMe
INNER JOIN upDateMe AS bData
ON (linkMe.UniqueID = bData.UniqueID)
AND (linkMe.SrcNumber = bData.SrcNumber)
SET bData.ExpiryDate = [linkMe].[ExpiryDate]
, bData.PermitEnd = [linkMe].[PermitEnd]...
??。なぜそれがどうなるかは分かりません。誰かがそれを説明できますか?
もう一度エイリアスを使用するのはなぜですか? – kbball
@kbballIn MS-Accessでは、長いテーブル名を持つ例文を使っています(問題は入力しません)。 iif()条件の長いセット(私の質問には表示されません)のためです。クエリが条件付きを受け入れることができるように、テーブル名を短くしました。 –