0
以下はSQL Serverデータベースの現在のレコードです。クエリを作成したい場合は、おそらく私のカウントを返すストアドプロシージャを作成します。あなたが見ることができるように、現在のテーブルの各AIdに対して3つのレコードがあります。SQL Serverのレコード数をカウントする複数の条件付きクエリ
IsCompleteが1に設定された同じAId(例えば、1)が少なくとも2回出現する.1のAIdに3つのレコードがあり、そのうちの2つが真(1)に設定されている場合はカウントする必要がある。だから私の条件によると、質問1、3、4は少なくとも1つのIsCompleteがtrueに設定されているので、私はcount 3を返します。
ID PId SId Section IsComplete AId
259 260 3 Area 1 - Items (1 - 4) 1 1
260 260 4 Area 1 - Items (5 - 8) 1 1
261 260 5 Area 1 - Items (9 - 12) 0 1
262 260 6 Area 2 - Items (1 - 4) 1 2
263 260 7 Area 2 - Items (5 - 8) 0 2
264 260 8 Area 2 - Items (9 - 12) 0 2
265 260 9 Area 3 - Items (1 - 4) 1 3
266 260 10 Area 3 - Items (5 - 8) 1 3
267 260 11 Area 3 - Items (9 - 12) 0 3
268 260 12 Area 4 - Items (1 - 4) 1 4
269 260 13 Area 4 - Items (5 - 8) 1 4
270 260 14 Area 4 - Items (9 - 12) 0 4
注:それは> = ...( "少なくとも2回出現") – ZLK
@ZLK良い点、である必要がありTNX ;)。 –
これはうまくいきましたが、この部分を別のクエリの中に配置する必要があります。私はそれが\t \t \t SELECT COUNT(DISTINCTエリアID)が \t \t \t \t \t \t(SELECT *、COUNT(CASE完了する= 1 THENエリアID END)OVER(FROM \t \t \t \t \t \tをItemsCount作るために改革することができますCNT tb_PackSections FROM \t \t \t) \t \t \t 01としてエリアID BY PARTITION)\t \t上記のcnt = 2 –