我想要做的是连接表的两个字段,按连接字段的降序长度对它们进行排序并获得最高结果......
这是我用来尝试实现这一目标的 SQL...
declare @color nvarchar(255);
declare @board_name nvarchar(255);
select top(1)
@board_name = board_name,
@color = base_color + case when shade_color is null then '' else '/' + shade_color end
from
cut_vinyl
order by
len(@color) desc;
select @board_name, @color;
所以,如果我有下表cut_vinyl
板名| base_color | shade_color ====================================== 板0001 | 明确 | 无效的 板0002 | 明确 | 蓝色的 板0003 | 青铜 | 青铜 板0004 | 青铜 | 绿色 板0005 | 青铜 | 蓝色的 板0006 | 青铜 | 无效的
然后我希望@board_name
成为board0003并@color
成为青铜/青铜,但我似乎得到的是像@board_name
= board0001和@color
= clear这样的结果