選択リストに主キーがある場合は 2 つの異なる結果を返し、主キーがない場合は別の結果を返すクエリがあります。
以下は、主キー「FDReciptNo」を使用したクエリです。
主キーを使用すると、結果は(3478)レコードになり、両方の内部選択ステートメントの選択ステートメントに主キーがないと、1274個のレコードがあります。
なぜこのような違いがあるのか を理解したいですか?
SELECT SUM(PrincipleAmount) AS PrincipleAmount FROM
(
SELECT
FDReceiptNo, PrincipleAmount
FROM mFixedDeposit
WHERE CurrentStatus = ' ' AND
DepositDate <= '9/20/2013 12:00:00 AM' AND
FDReceiptNo NOT IN
(
SELECT FDReceiptNo FROM mFixedDeposit
WHERE
TransactionDate > '9/20/2013 12:00:00 AM' AND MaturityDate <= '9/20/2013 12:00:00 AM'
)
UNION
SELECT
FDReceiptNo, PrincipleAmount
FROM mFixedDeposit
WHERE TransactionDate > '9/20/2013 12:00:00 AM' AND
MaturityDate <= '9/20/2013 12:00:00 AM'
) AS tbl