0
最新のInspection_date
のOccupancy
と最後のものが等しくない場合の結果を得る方法を探しています。 OrderID
202 =「占有」のOrderID
201 =ためOccupancy
「空き」<>Occupancy
へ:この例ではTSQL:条件付きクエリ
数だけRoomID
2ため、結果だけであろう。
私はクエリの開始点を持っていますが、クエリを終了するための良いロジックが見つからないようです。 SQL Serverの2012+では
| RoomID | OrderID | Occupancy | rn |
+--------+---------+-----------+----+
| 01 | 101 | Vacant | 1 |
| 01 | 102 | Vacant | 2 |
| 01 | 103 | Occupied | 3 |
| 01 | 104 | Vacant | 4 |
| 02 | 201 | Vacant | 1 |
| 02 | 202 | Occupied | 2 |
| 02 | 203 | Vacant | 3 |
| 03 | 301 | Occupied | 1 |
| 03 | 302 | Occupied | 2 |
| 03 | 303 | Occupied | 3 |
| 03 | 304 | Occupied | 4 |
| 04 | 401 | Occupied | 1 |
| 04 | 402 | Occupied | 2 |
| 04 | 403 | Vacant | 3 |
| 04 | 404 | Occupied | 4 |
SELECT i.room_number, order_number, Occupancy , row_number() OVER(PARTITION BY room_number ORDER BY Inspection_date DESC) rn
FROM #inspection_data i
完璧ではありがとうございました! –