Sql server 如果一列为空,则选择其他列
如果B.[Name]有值,则选择以下选项Sql server 如果一列为空,则选择其他列,sql-server,Sql Server,如果B.[Name]有值,则选择以下选项 Select B.[Name], A.[Address], A.TIN, A.AuthorizedRep1Name, A.AuthorizedRep1Email, A.AuthorizedRep1Contact, A.AuthorizedRep2Name, A.AuthorizedRep2Email, A.AuthorizedRep2Contact, A.Re
Select
B.[Name],
A.[Address],
A.TIN,
A.AuthorizedRep1Name,
A.AuthorizedRep1Email,
A.AuthorizedRep1Contact,
A.AuthorizedRep2Name,
A.AuthorizedRep2Email,
A.AuthorizedRep2Contact,
A.RefundOfSecDep,
A.PayeeAddress,
A.PayeeTIN
From MembersTbl A
join UserTbl B
on A.UserID = B.ID
Select
A.[Address],
A.TIN,
A.AuthorizedRep1Name,
A.AuthorizedRep1Email,
A.AuthorizedRep1Contact,
A.RefundOfSecDep,
A.PayeeAddress,
A.PayeeTIN
From MembersTbl A
如果B.[Name]为空,它将选择以下内容
Select
B.[Name],
A.[Address],
A.TIN,
A.AuthorizedRep1Name,
A.AuthorizedRep1Email,
A.AuthorizedRep1Contact,
A.AuthorizedRep2Name,
A.AuthorizedRep2Email,
A.AuthorizedRep2Contact,
A.RefundOfSecDep,
A.PayeeAddress,
A.PayeeTIN
From MembersTbl A
join UserTbl B
on A.UserID = B.ID
Select
A.[Address],
A.TIN,
A.AuthorizedRep1Name,
A.AuthorizedRep1Email,
A.AuthorizedRep1Contact,
A.RefundOfSecDep,
A.PayeeAddress,
A.PayeeTIN
From MembersTbl A
我该怎么办?您可以通过创建一个变量并分配它们的值进行检查,如下所示
declare @name varchar(20)
set @name = (select name from YourTable b where ...)
Now to check
if(@name is not null)
begin
----Your first query.
end
else
begin
----Your second query
end
您不需要做额外的工作,只需在第二个查询中添加左连接,因为两个查询返回相同的数据,除了额外的列 您可以根据自己的要求,根据自己的条件(如B)使用结果。名称是否为空 例如:
Select
B.[Name],
A.[Address],
A.TIN,
A.AuthorizedRep1Name,
A.AuthorizedRep1Email,
A.AuthorizedRep1Contact,
A.AuthorizedRep2Name,
A.AuthorizedRep2Email,
A.AuthorizedRep2Contact,
A.RefundOfSecDep,
A.PayeeAddress,
A.PayeeTIN
From MembersTbl A
left join UserTbl B
on A.UserID = B.ID
我希望它能帮助您:)B.[Name]的值是多少?有些行是
NULL,有些行不是。两个查询返回完全不同的结果集。请显示带有预期结果的样本数据