在基于表的视图上合并所有视图
|
我有一个带有SQL视图列表的数据库表
我想创建一个新的视图或存储过程,基于该表中的视图将返回那些合并的视图
像这样
SELECT ALINE1, HOME, EMAIL, EXPIRE, EDATE7, type
FROM dbo.campaign_membership_30
UNION ALL
SELECT ALINE1, HOME, EMAIL, EXPIRE, EDATE7, type
FROM dbo.campaign_membership_30n
UNION ALL
SELECT ALINE1, HOME, EMAIL, EXPIRE, EDATE7, type
FROM dbo.campaign_membership_60n
UNION ALL
SELECT ALINE1, HOME, EMAIL, EXPIRE, EDATE7, type
FROM dbo.campaign_membership_today
UNION ALL
SELECT ALINE1, BOOKNO, EMAIL, DEPART, DEP7, type
FROM dbo.depart_151days
UNION ALL
SELECT ALINE1, BOOKNO, EMAIL, DEPART, DEP7, type
FROM dbo.depart_90Days
没有找到相关结果
已邀请:
2 个回复
岭取
必须编写函数Concatenated_Rows。您可以选择使用游标,甚至使用FOR XML来创建串联的字符串。这里的链接可以很好地解释许多可能的方法,并且可以很好地比较它们。 再一次,可能会有更好的解决方案,然后再走这条路,特别是如果这不仅仅是一次性的任务。
蓟类
您的查询将返回这三个视图的并集;正确? 注意事项:我高度质疑要求您执行此操作的基础关系结构。更好的数据模型可能会使其不必要。但是我假设您没有更改模型的能力,因此请尝试以下操作: 假定上面列出的三个视图位于一个名为“ ViewsToReturn”的表的一个名为“ ViewName”的字段中。构建一个查询,该查询首先合并所有视图,然后根据ViewsToReturn中视图的名称对其进行过滤。像这样:
这种解决方案既不优雅也不高效,但是如果我正确理解了您的问题,就可以解决问题。 祝好运!