我有一个表,其中有一列包含一串逗号分隔值 (CSV)。
例如 VALUE1、VALUE2、VALUE3
作为过滤器传入的是另一组 CSV。
例如 VALUE2、VALUE3
所以在上面的例子中,查询应该返回任何过滤器值在 CSV 列中的任何记录。
例子
declare @table table
(
rownum int,
csv nvarchar(300)
)
insert into @table values (1,'VALUE1, VALUE2, VALUE3')
insert into @table values (2,'VALUE1, VALUE2')
insert into @table values (3,'VALUE1, VALUE3')
insert into @table values (4,'VALUE3, VALUE4')
insert into @table values (5,'VALUE1, VALUE2, VALUE3')
insert into @table values (6,'VALUE3, VALUE4, VALUE2')
insert into @table values (7,'VALUE3')
declare @Filter nvarchar(50)
set @Filter = 'VALUE1,VALUE2'
select * from @table
Run Code Online (Sandbox Code Playgroud)
因此,在上面的示例中,第 1、2、3、5 和 6 …
我的表中有一个名为Value1的列.然后我有一个计算列,Value2,公式为;
(CASE WHEN [Value1] > [Value2] THEN [Value1] ELSE [Value2] END)
Run Code Online (Sandbox Code Playgroud)
我不能保存这个,因为SQL Server在公式中的Value2计算列的自引用时很好.
还有什么我可以做的吗?