1

Oracleでレベル<10でデュアル接続からレベルを選択することにより、整数のサブクエリを生成し、それを別のシーケンスに変換できます。

これはSybaseで可能ですか?

PSテーブルにデータがない日付(欠落している日)を見つけたいです。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')

MINUSのSybase類似物は次のとおりです。

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

しかし、レベルで接続するためのアナログはわかりません...

UPDATE実際にデータをディスクに保存せずに、Sybaseで一時テーブルを作成する方法はありますか?

4

2 に答える 2

4

使用する Oracle 構文は、行ジェネレーターとして使用される階層クエリです。Sybase には、開始値と終了値の間の整数のセットを生成するために使用できるsa_rowgeneratorシステム プロシージャがあります。

以下は、1 から 255 までの整数の列を生成します。

SELECT row_num FROM sa_rowgenerator( 1, 255 );
于 2013-05-18T13:23:05.253 に答える