0

次のようにテーブルにデータがあります

テーブル名:履歴

page_url       verified         day
------------------------------------------
some_url1      true             2012-06-25
some_url2      true             2012-06-24
some_url1      false            2012-06-25
some_url2      false            2012-06-24

これは、別のテーブルのフィールド名として日のフィールド値を使用するようなものです

次の方法で出力が必要です。

page_url           2012-06-25         2012-06-24
------------------------------------------------
some_url1          true               false  
some_url2          true               false  

pl / sqlまたはストアドプロシージャを使用して可能ですか?

4

1 に答える 1

1

ここで探しているのは、列を回転させることです。サンプルデータのようにこれらの列が制限されている場合は、次のような簡単なCASEステートメントでこれを行うことができます。

SELECT page_url, 
   MAX(CASE WHEN day = '2012-06-25' THEN verified END) as '2012-06-25',
   MAX(CASE WHEN day = '2012-06-24' THEN verified END) as '2012-06-24'
FROM tableName
GROUP BY page_url
于 2012-06-28T08:01:56.850 に答える