pva
23-01-2009, 14:49
Поймёт ли сервер, что следующее выражение очень сильно упрощается или будет на каждой строчке раз проверять @parentId is null и @like is null?
declare @parentId integer; -- сейчас @parentId = null;
declare @like varchar(10); -- сейчас @like = null
select top 11
'waresGroup.parentId' as next,
str(id,8,0) as id,
'1.bmp' as image,
name
from
waresGroup
where
((@parentId is null and parentId is null) or parentId=@parentId) and enabled=1
and (@like is null or name like @like)
union
select top 11
'' as next,
'W' + str(id,8,0),
'2.bmp' as image,
name
from
wares
where
((@parentId is null and waresGroupId is null) or waresGroupId=@parentId) and enabled=1
and (@like is null or name like @like)
declare @parentId integer; -- сейчас @parentId = null;
declare @like varchar(10); -- сейчас @like = null
select top 11
'waresGroup.parentId' as next,
str(id,8,0) as id,
'1.bmp' as image,
name
from
waresGroup
where
((@parentId is null and parentId is null) or parentId=@parentId) and enabled=1
and (@like is null or name like @like)
union
select top 11
'' as next,
'W' + str(id,8,0),
'2.bmp' as image,
name
from
wares
where
((@parentId is null and waresGroupId is null) or waresGroupId=@parentId) and enabled=1
and (@like is null or name like @like)