Sql 是否可以将此视图';什么查询更紧凑?
在许多情况下。。。是否可以使此视图的查询更紧凑?您可以使用(通常用于INSERT),然后对其进行交叉连接Sql 是否可以将此视图';什么查询更紧凑?,sql,sql-server,Sql,Sql Server,在许多情况下。。。是否可以使此视图的查询更紧凑?您可以使用(通常用于INSERT),然后对其进行交叉连接 SELECT ma.ManningID ... ,'P01' AS Pline ... FROM Manning AS ma UNION ALL SELECT ma.ManningID ... ,'P02' AS Pline ... FROM Manning AS ma UNION ALL SELECT ma.Manni
SELECT ma.ManningID
...
,'P01' AS Pline
...
FROM Manning AS ma
UNION ALL
SELECT ma.ManningID
...
,'P02' AS Pline
...
FROM Manning AS ma
UNION ALL
SELECT ma.ManningID
...
,'P03' AS Pline
...
FROM Manning AS ma
这个
它的格式是否重要?只要它是可读的,那么这就是你真正应该关心的。您可以将每个部分放入自己的视图中,然后将它们合并在一起,但这样做没有任何好处。除了所选的
Pline
列之外,查询之间真的没有区别吗?如果是这样,为什么不在Manning
和填充有Pline
值的表之间设置一个交叉连接
?
SELECT ma.ManningID
, ...
, p.Pline
, ...
FROM Manning ma
CROSS JOIN (VALUES ('P01'),('P02'),('P03')) P(Pline)
SELECT ma.ManningID
...
,Pline
...
FROM Manning AS ma
cross join (select 'p01' AS Pline
union 'p02'
union 'p03') c