我想選擇從Oracle數據庫獨特的列,我的代碼是:的Oracle SQL錯誤:不同的情況下
select ID,distinct case when DM='ST1B' then MC else DM end from D_DZDY
但是,它不工作。如果我刪除「獨立的」,它的工作原理: enter image description here
任何人都可以幫我解決這個問題?非常感謝! :d
我想選擇從Oracle數據庫獨特的列,我的代碼是:的Oracle SQL錯誤:不同的情況下
select ID,distinct case when DM='ST1B' then MC else DM end from D_DZDY
但是,它不工作。如果我刪除「獨立的」,它的工作原理: enter image description here
任何人都可以幫我解決這個問題?非常感謝! :d
語法select distinct
。在單個列上沒有distinct
函數或運算符。
也許你打算:
select distinct ID, (case when DM = 'ST1B' then MC else DM end)
from D_DZDY;
這將返回的id
不同對和case
表達。
不需要圍繞CASE –
@DuduMarkovitz的括號。 。 。我總是把'case'放在括號內。我覺得它更容易看到的'case'結束,尤其是當它們嵌套 –
註釋對於OP /讀者。由於這是OP代碼的另一個變化,因此澄清這僅僅是一種表面修飾是很重要的。 –
DISTINCT OPERATE在行,你應該使用這樣的語法:
select distinct ID,(case when DM='ST1B' then MC else DM end) from D_DZDY
如果你只是想case語句推遲至今值,您可以使用此
select distinct (case when DM='ST1B' then MC else DM end) from D_DZDY
無需左右CASE –
無需尖叫美國括號。請修復您的大寫鎖定鍵,它已損壞 –
您正在使用'DISTINCT'與錯句法。請提供一些虛擬數據以及您的預期結果。 –
您是否在尋找'選擇不同的ID,情況下,當DM = 'ST1B',然後從D_DZDY MC其他DM結束;'? – JSapkota
如果您有10行具有相同的CASE值,您會期望看到什麼ID? –