sql >> データベース >  >> RDS >> Oracle

SQL の結果を変数に格納し、結果を解析して可能なパターンを識別する方法は?

    私の理解が正しければ、次のようなことができます:

    select count(*)
    from (select listagg(flag) within group (order by dt) as flags
          from temp
         ) x
    where not regexp_like(flags, 'HH|EE|HS|SE');
    

    または、 lag() を使用できます :

    select (case when count(*) = sum(case when flag2 not in ('HH', 'EE', 'HS', 'SE')
                 then 1 else 0
            end) as return_value
    from (select t.*,
                 (lag(flag) over (order by dt) || flag) as flag2
          from temp
         ) t;
    



    1. php / mysqlの世界では、ストアドプロシージャは使用できませんか?

    2. MySQLリレーショナル部門

    3. カータイムを変更する方法は?

    4. SQL Server 2008 - 値を別のテーブルにコピーする挿入/更新トリガーで?