Sql server 基于事务表中逗号分隔的值生成视图

Sql server 基于事务表中逗号分隔的值生成视图,sql-server,Sql Server,如何生成视图以显示基于事务表逗号分隔值的主数据记录 我在management studio中使用 select * from masters_view where parameter1 in (x,y) and parameter2 in (r,s,t) 值(x,y)和(r,s,t)在另一个表中作为记录提供,因为nvarchar视图不能包含动态SQL,这通常是将字符串转换为列引用所必需的。为什么列引用存储在nvarchar列中?为什么这需要成为一个视图?您是希望视图动态引用另一个表中的这些列,

如何生成视图以显示基于事务表逗号分隔值的主数据记录

我在management studio中使用

select * from masters_view where parameter1 in (x,y) and parameter2 in (r,s,t)

值(x,y)和(r,s,t)在另一个表中作为记录提供,因为nvarchar

视图不能包含动态SQL,这通常是将字符串转换为列引用所必需的。为什么列引用存储在
nvarchar
列中?为什么这需要成为一个视图?您是希望视图动态引用另一个表中的这些列,还是希望代码立即基于表中的值创建视图,并且在您更改/重新创建视图之前,视图将始终对这些值进行硬编码,即使另一个表的数据在此期间发生更改,由主管处理的产品代码和包装尺寸将为事务表中的每个主管id保存。该视图是动态的,不适用于静态值(基于现在的数据),因为记录会随着时间的推移插入/更新到事务表中。使用视图很难做到这一点,即使很容易做到,性能也可能会受到影响。你能解释一下为什么这需要一个“动态视图”吗?它不是像根据我上面的例子构建一组6条select语句并输出一样简单吗?如果您手动执行相同的操作,使用此视图将使我的生活更容易处理表单和报表?如果你像在问题中那样硬编码这些值?那当然行。现在,尝试编写一个查询(不使用动态SQL),该查询将主动从其他表中提取这些列引用。让我们知道你能走多远。