0
對不起,模糊的標題,但我真的不知道它叫什麼,我正在尋找。分組通過在Oracle中選定的變量SQL
我有幾個表格,這些表格不一定非常適合報告,您猜對了,我想報告。我對SQL也只是新手而已,這讓事情變得複雜一些。
Table1:
ID Created EventName
1 1/1/14 Event1
2 1/1/14 Event1
3 2/1/14 Event1
4 2/1/14 Event2
5 3/1/14 Event3
Table2:
EventID EventType Value
1 Var1 123
1 Var2 XYZ
1 Var3 ABC321
2 Var1 987
2 Var4 Dumbledore
2 Var2 WXY
2 Var6 Hamburger
3 Var1 456
我已經想通了,如果我使用下面的SQL ...
SELECT T1.EventName,
Count
((Select T2.Value
From Table2.T2
Where T1.ID = T2.EventID
And T2.EventType = 'Var2'
)) as Var2Count
From Table1 T1
Group By T1.EventName
我應該得到這樣的輸出:
EventName Var2Count
Event1 1
Event2 1
但是,我熱衷在獲得以下輸出:
EventName Var2Name
Event1 XYZ
Event2 WXY
我知道w這是關於如何構造Group By的,以及在最後一個From語句之後定義Var2Name變量的事情,但我有點遺漏了如何做到這一點。
..........
好吧,我已經想通,這更接近我想要什麼,但還是有問題:我肯定需要做一個
謝謝加入......但我認爲我的功能的下一步成爲一個問題!
我有現在這樣:
select Table1.EventName, Table2.Value,
count
((select Table2.Value
from Table2
where Table1.ID = Table2.EventID
and Table2.EventType in ('Var2')
)) as LineCount,
sum
((select Table2.Value
from Table2
where Table1.ID = Table2.EventID
and Table2.EventType = 'Var7'
and Table2.Value not like '%undefined%'
)) as TotalCost
from Table1
inner join Table2
on Table1.ID = Table2.EventID
where Table2.EventType in ('Var2','Var7')
Group By Table1.EventName, Table2.Value;
我只是不知道我怎麼會各個組合Table.Value的添加新的一列...
輸出會像如下:
EventName Var1Name Var2Name Var3Name Var4Name (etc)
Event1 123 XYZ ABC321 (null)
Event2 678 LKT (null) 765AWW
Event3 (null) (null) DERP STUFF
任何想法?
謝謝,我一定需要做一個加入...但我覺得我的函數的下一步成爲一個問題! – PuGZoR 2014-12-05 03:03:48