SQLでは1つの行のみを表示し、その行の値が変更されたときに別の行も表示できるかどうかは疑問でした。たとえば、私は料金表を持っています。注文に料金を追加することができます。すでに追加された手数料に手数料が変更された場合、元の手数料行は削除済みとしてマークされ、新しい手数料行に新しい数量が追加されます。この修正が行われると、古い数量はDeletedUnverified(StatusId 20)とマークされ、新しい料金数量列はPaid(StatusId 7)のステータスで入ります。管理者はこれらの料金変更を確認しなければなりません。その場合、「deletedUnverified」行のステータスは「削除済み」(StatusId 18)に変更され、新しい料金数量列はPaidと同じままになります。SQLは別の行の値の変化に基づいて複数の行を表示します
上記画像は、費用を、それらが変更された最初の時間(上の2行)を示し、スーパーバイザが変化(下二列)を確認した後。上の2行は、検証される前のデータです(statusId = 20はDeletedUnverifiedです)。スーパーバイザがそれを確認すると、状態は18(削除済み)に変わります。私がしようとしているのは、手数料が確認されていないときだけです。上の行の上のイメージでは、行ID 111(StatusId 20)を表示するだけです。料金が確認されたら、両方の行、つまり上の2行を表示します。
statusID 20の行を示したコードがあり、statusID 18に更新されたときにステータスID 7の行しか表示されませんでした。私はそれが理にかなったことを望む。
SELECT
*
FROM
FeeItem sub1
INNER JOIN (
SELECT
ISNULL(b.feeitemid, a.itemid) AS pharmacyformfeeitemid
FROM
(
SELECT
*
FROM
FormFeeItem
WHERE
OrderId IN (1234)
AND StatusId = 7
) a
LEFT JOIN (
SELECT
*
FROM
FormFeeItem
WHERE
OrderId IN (1234)
AND StatusId = 20
) b ON a.OrderId = b.OrderId
) sub2 ON sub1.FeeItemId = sub2.feeitemid
すべてのヘルプは...事前に感謝:)
ブリリアントを高く評価しています!治療をした....ありがとう! :) – clueless83