Sql server 如何在SQL Server中基于一个或另一个条件提取代码
假设我们有两个表A和B。两个表都有Sql server 如何在SQL Server中基于一个或另一个条件提取代码,sql-server,Sql Server,假设我们有两个表A和B。两个表都有开始日期A.FromDate和B.FromDate,两者都可以在MemberID上加入。我需要在from Date FromDate应计算为: 如果A.FromDate小于B.FromDate,则使用B.FromDate 如果A.FromDate等于或大于当前组spanB.FromDate,则使用资格spanA.FromDate 如果无法确定日期,则应将成员包括在例外列表中 请帮助尝试此查询: SELECT A.*, B.*, CASE WHE
开始日期A.FromDate
和B.FromDate
,两者都可以在MemberID
上加入。我需要在from Date
FromDate
应计算为:
- 如果
A.FromDate
小于B.FromDate
,则使用B.FromDate
- 如果
A.FromDate
等于或大于当前组spanB.FromDate
,则使用资格spanA.FromDate
- 如果无法确定日期,则应将成员包括在例外列表中
请帮助尝试此查询:
SELECT A.*, B.*,
CASE WHEN A.FromDate < B.FromDate THEN CAST(B.FromDate AS VARCHAR(15))
WHEN A.FromDate >= B.FromDate THEN CAST(A.FromDate AS VARCHAR(15))
ELSE 'Exception' END AS FromDate
FROM A
INNER JOIN B
ON A.MemberID = B.MemberID
选择A.*,B.*,
当A.FromDate=B.FromDate时,则强制转换(A.FromDate为VARCHAR(15))
否则“例外”将从开始日期结束
从
内连接B
在A.MemberID=B.MemberID上
ELSE
条件只有在无法确定日期之间的不相等时才会触发,当一个或两个起始日期都为NULL
时就会发生这种情况