から存在している場合、私は現在バイクを受け取ることができるように、History
を照会するCheckout
とCheckin
がGETDATE()
NULL列は、私は、トランザクションのテーブルを持っているSELECT
ある
History[CustomerID, BikeID,Checkout,StationIDout,Checkin,StationIDin]
を個別の行を削除します(すなわち、Checkin
とStationIDin
はNOT NULL
です)
私のクエリはどこに同じ自転車、それは別のインスタンスを検索せずに完了したトランザクションを見て最初BikeID
を選ぶので、
SELECT DISTINCT BikeID from History
where StationIDin = {0}
AND Checkin IS NOT NULL AND StationIDin IS NOT NULL
は驚くことではないが、私はまだチェックアウトされているバイクを受けています:私は現在、このクエリを使用しています
NOT選択BikeID
をチェックアウトしたクエリを作成したいと思います。言い換えれば、StationIDin内のNULLの出現を検索し、BikeID
を選択する前に結果からそれを削除することです。
(潜在的にタイトルをmisnamingための私の謝罪は、私はより良いそれを記述することはできません)
CustomerID BikeID Checkout StationIDout Checkin StationIDin
--------------------------------------------------------------------
1001 32 6/8/16 500 6/28/16 500
1002 21 1/2/15 500 1/3/15 500
1003 32 3/7/15 500 NULL NULL
CURRENT OUTPUT:
32
21
DESIRED OUTPUT:
21
サンプルデータと予想される結果を投稿できますか? –
すべてのデータを1つのテーブルに保存しますが、これは正しい方法ではありません。そして、エラーが起こりやすいです。デザインを見直し、テーブル内の各自転車の現在のステータスとその履歴を別のテーブルに保存します。現在のステータステーブルでは、各バイクは正確に1回表示されなければなりません。履歴表では、自転車は0回以上出現することがあります。 – axiac