-1
我需要创建一个标志来识别所有Room_IDs
下满足其中:TSQL:条件查询问题
- 了“QC-”
Status
是一个Hotel_ID
内。 - “Qc-”
Status
具有相应的非“Qc-”Status
(例如, 'qc-占用'&'占用')。 - “Qc-”
Status
必须具有比 非“Qc-”Status
更小的Room_ID
。 (例如Status
= 'QC-占用' 具有Room_ID
= 1和Status
= '占用' 具有Room_ID
= 5)
这是一个简化的表(TableX的)我使用作为一个例子:
**Hotel_ID Room_Id Status**
1 1 vacant
1 2 qc-occupied
1 3 vacant
2 1 occupied
2 2 qc-vacant
2 3 vacant
3 1 qc-vacant
4 1 vacant
4 2 occupied
4 3 qc-vacant
5 1 vacant
我需要以下的结果:
**Hotel_ID Room_Id Status flag**
1 1 vacant 0
1 2 qc-occupied 0
1 3 vacant 0
2 1 occupied 0
2 2 qc-vacant 1
2 3 vacant 1
3 1 qc-vacant 0
4 1 vacant 0
4 2 occupied 0
4 3 qc-vacant 0
5 1 vacant 0
预先感谢您!
你有什么试过,你遇到了什么问题? “我需要”并没有显示出很多研究和工作。 – HABO
对不起,如果这似乎不礼貌,我完全卡住..我看不到一种方法,使其工作。 我已经创建了一个标志来汇总与QC对应方的状态。 flag 1 = CASE WHEN [status] ='qc-occupied'或'占用'THEN'占用' WHEN [status] ='qc-vacant'或'vacant'THEN'空缺'END, flag 2 = CASE WHEN [status] like'qc - %'then'QC Order'ELSE'None QC Order'END, rn = ROW_NUMBER()over(由Room_Id按Hotel_ID排序) –