次のロジックを適用する最良の方法を見つけようとしています。私たちのビジネス ロジックでは、一連の行を var テーブルに挿入してから、すべての個別のレコードを選択しますが、同じ ID を持つすべてのレコードに一致する場合にのみ条件を正に設定する必要があります [つまり、基本的にビットごとの AND]
うまくいけば、私の例はそれをよりよく説明しています。
DECLARE @sometable TABLE (
record_id INT NOT NULL,
some_condition BIT NOT NULL)
そのテーブルのレコードが一致します
record_id some_condition
1 1
1 0
2 0
3 0
上記の場合、目的の出力は
record_id some_condition
1 0
2 0
3 0
今までのやり方はこんな感じ
SELECT DISTINCT record_id CAST(MIN(CAST(some_condition INT)) AS some_condition
FROM @sometable
GROUP BY record_id
これを行うより良い方法はありますか?MIN は数値型のみを取るため、変数をキャストする必要があります。