0
我想根據條件計算所有不同的ID。但是我無法弄清楚我的語法錯在哪裏。邏輯是PL/SQL:需要幫助根據條件創建計算列。在選擇查詢中完成
COUNTD(IF ([column_name1] = 1) THEN [DATAPAGEID] END)
這是Tableau中使用的公式。然而,當它寫在一個PL/SQL查詢爲
Select FT.NAME, COUNT(DISTINCT FT.pageID IF FT."column_name" = 1)
as total_expected
FROM
(Sub Query) FT
Group by FT.Name
Order by FT.Name
不用說,它的拋出錯誤。現在我可以編寫單獨的查詢,這可以使用where條件給我每個數字。例如,如果我想不同的pageid的計數,其中column_name1 = 1,我會寫這樣的事情
Select FT.SITENAME, COUNT(DISTINCT DATAPAGEID) as Datapage
from
(sub query)
WHERE FT."column_name" = 1
但是,問題是,我在查詢其他計算列,將所有需同一行的一部分。爲了說明這張表的外觀如何,
name Calculated_Column1 Calculated_Column2 Calculated_column3
abc 781 811 96.54%
pqr 600 800 75.00%
其中calculated_column3是781/811的結果。因此,我無法爲每列添加新的查詢。我認爲在計算列時使用if條件會解決這個問題,但我無法以某種方式獲得語法。
因此,我需要知道如何在選擇查詢中創建條件計算列。如果我沒有解釋清楚,請告訴我,我會盡力澄清。