0

因此,我问了一个关于如何摆脱#temp 表的问题。

如何摆脱#temp 表

也得到了解决。但我也不想使用 CTE。

任何想法,如何将所有这些查询合并为一个。

select {some columns} into #temp1 from {some tables} where {conditions1}
select {some other columns} into #temp2 from {some tables} where {conditions2}
select {some other columns} into #temp3 from {some tables} where {conditions3}

select {some columns from all #temp tables} from #temp1, #temp2,
#temp3 where {conditions}

谢谢

4

1 回答 1

1

我完全不清楚您想要实现什么,但如果您不想使用 CTE(出于任何奇怪的原因),派生表可能会满足您的需求:

select {some columns 
from ( 
  select {some columns} 
  from {some tables} 
  where {conditions1}
) as t1
  join ( 
    select {some other columns} 
    from {some tables} 
    where {conditions2}
  ) as t2 ON {join condition between t1 and t2}
  join (
    select {some other columns}  
    from {some tables} 
    where {conditions3}
  ) as t3 ON {join condition between t2 and t3}
where {conditions}

(虽然从技术上讲并没有真正的区别,但这只是写同一件事的不同方式)

于 2013-04-24T09:46:28.060 回答