一尘不染

对于Sybase,“通过级别<10的双连接选择级别”的模拟?

sql

通过 Oracle中 级别 <10的双连接中选择级别,我可以生成整数的子查询并将其转换为另一个序列。

Sybase是否可能?

附言: 我想查找表中没有数据的日期(缺席天数)。在Oracle中,我这样做是:

select to_date('2012-01-01', 'yyyy-mm-dd')+level-1 from dual
    connect by level < to_date('2013-01-01', 'yyyy-mm-dd') - to_date('2012-01-01', 'yyyy-mm-dd')
  MINUS
select distinct date from TBL
    where date between to_date('2012-01-01', 'yyyy-mm-dd')
                   and to_date('2013-01-01', 'yyyy-mm-dd')

在Sybase中, MINUS的 模拟量是:

select whatever from table1 T1
  where not exists
  ( select 1 from table2 where id = T1.id )

但是我不知道 按级别连接的 模拟…

UPDATE 有什么方法可以在Sybase中创建临时表,而无需实际将数据存储到磁盘吗?


阅读 131

收藏
2021-05-16

共1个答案

一尘不染

您使用的Oracle语法是用作行生成器的层次结构查询。Sybase具有sa_rowgenerator系统过程,可用于在起始值和结束值之间生成一组整数。

以下将产生一列介于1和255之间的整数。

SELECT row_num FROM sa_rowgenerator( 1, 255 );
2021-05-16