1

同じ Access データベースに 2 つのテーブルがあるとします。

Transaction
 - Date
 - Time
 - TransactionNumber
 - UniqueID
 - Exception (boolean)

(TransactionNumber は同じ日のレコードの連続した整数で、その後は毎日 0 から始まります。キー フィールドは UniqueID です)

Exceptions
 - ExceptionNumber
 - Date
 - Time
 - TransactionNumber
 - ExceptionReason

(ExceptionNumber は、同じ日のレコードの連続した整数であり、0 から再び開始されます。TransactionNumber は、両方のテーブルで Date が同じである Transactions からの同じ値です)

Transaction.Exception が TRUE の場合、そのトランザクションに関連するレコードも例外に表示されます。

Transaction からすべてのレコードを出力したいのですが、あるレコードで Transaction.Exception が TRUE になった場合、Exception.ExceptionReason を示す列が必要です。他のレコードの場合は、空白にする必要があります。

これがどのように可能かわかりません。Date フィールドと TransactionNumber フィールドを使用して 2 つのテーブルを結合すると、Transaction.Exception = TRUE のレコードのみが表示されます。

4

1 に答える 1

1

LEFT JOINあなたが望むことを達成できるように思えます。

SELECT
    t.[Date],
    t.[Time],
    t.TransactionNumber,
    t.[Exception],
    e.ExceptionReason
FROM
    [Transaction] AS t
    LEFT JOIN Exceptions AS e
    ON
        t.[Date] = e.[Date]
        AND t.TransactionNumber = e.TransactionNumber
于 2012-08-10T12:33:39.587 に答える