Вы можете попробовать объединение, если хотите это сделать (пример ниже), или вы можете использовать простое выражение «если».
Вы не можете использовать там оператор case, потому что case возвращает единственное значение, а не таблицу (что и ожидает "from").
create table #tblsales
(
a varchar(1),
b varchar(1)
)
create table #tblTransfer
(
a varchar(1),
b varchar(1)
)
insert into #tblSales(a,b) values ('s','1')
insert into #tblSales(a,b) values ('s','2')
insert into #tblTransfer(a,b) values ('t','1')
insert into #tblTransfer(a,b) values ('t','2')
declare @type int
set @type=1
select a as abc, b as xyz
from
(
select a,b,thetype
from
(select a,b, 1 as thetype from #tblsales) sales
union
(select a,b, 2 as theType from #tblTransfer)
) joined
where theType=@type