2012-06-28 47 views
0

我有一個表中的數據以下列方式SQL數據操作

表名:歷史

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或stor編程程序?

+0

你想有*正是*這些列的結果集?或者你想讓這些列由數據決定? *(因此,您現在可能有3列,或者在插入更多數據後有10列?)* – MatBailie

+0

@Dems,我希望列由數據決定。這張表有90天左右的數據。 –

+1

@SaurabhSazena - 然後你需要編寫PLSQL來寫一個SQL查詢(使用MahmoudGamal的答案作爲模板)並執行它。 PLSQL不*允許結果集具有未知數量的列。 – MatBailie

回答

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