我有一张桌子MIS_Details
;它有以下列:
- Cheque_status
- 检查退回日期
- Policy_status_change_date
我正在使用选择查询在 Excel 中创建报告。
我的要求如下:如果检查状态列有值'Cheque Bounce'
,我需要将该记录的检查退回日期复制到Policy_status_change_date
但不更新数据库中的表。
这只是为了显示在报告中,所以我不能使用更新。
我有一张桌子MIS_Details
;它有以下列:
我正在使用选择查询在 Excel 中创建报告。
我的要求如下:如果检查状态列有值'Cheque Bounce'
,我需要将该记录的检查退回日期复制到Policy_status_change_date
但不更新数据库中的表。
这只是为了显示在报告中,所以我不能使用更新。
通常,您应该能够使用 case 语句来查看cheque status
列中的值是否与您的文本匹配,如果是,则使用退回日期作为Policy_status_change_date
列的值(语法可能因提供的数据库类型而异你的数据)。
SELECT
ChequeStatus
,ChequeBounceDate
,CASE
WHEN ChequeStatus = 'Cheque Bounce'
THEN ChequeBounceDate
ELSE Policy_status_change_date
END AS Policy_status_change_date
FROM
MIS_Details
此外,在设计说明中,您可能希望将可能的状态存储在另一个表中,以便您只使用状态 ID 而不是实际文本进行比较 - 如果您想稍后更改状态文本,您不必更新所有查询。