SQL 使用特定条件从 2 列 table 获取有效价格

SQL get active price from 2 column table using specific condition

如何select激活价格,优先选择当季价格,如果在日期范围内,则选择当季价格。但如果它不在日期范围内,则从另一个 table(TBL_ROOM_TYPE).

中选择它

 SELECT
  TBL_ROOM_TYPE.ID_ROOM_TYPE,
  COALESCE(TBL_SEASON_TYPE_MAP.SEASON_PRICE, TBL_ROOM_TYPE.TYPE_PRICE) AS price
FROM
  TBL_ROOM_TYPE 
  left JOIN TBL_SEASON_TYPE_MAP ON TBL_ROOM_TYPE.ID_ROOM_TYPE = TBL_SEASON_TYPE_MAP.ID_ROOM_TYPE
join  TBL_ROOM_SEASON on TBL_ROOM_SEASON.ID_SEASON=TBL_SEASON_TYPE_MAP.ID_SEASON
and (@ArrivalDate BETWEEN TBL_ROOM_SEASON.[START_DATE]  AND TBL_ROOM_SEASON.[END_DATE] )

所以我想将 id 1 和 3 中的价格更改为与图片 1 相同

请按照这些思路进行操作,table 姓名及其图片会有所帮助。

SELECT 
 R.ID_ROOM_TYPE
,CASE  
WHEN  START_DATE<'2018-03-18' AND END_DATE >'2018-03-18' THEN SEASON_PRICE 
ELSE TYPE_PRICE END AS PRICE
 FROM TBL_ROOM R 
LEFT JOIN TBL_ROOM_SEASON S ON S.ID_SEASON = R.ID_SEASON
LEFT JOIN TBL_ROOM_TYPE T ON T.ID_ROOM_TYPE = R.ID_ROOM_TYPE

Image for Reference

谢谢。