0
我知道我可以在我的編程語言中做到這一點,但我想嘗試在SQL內部做到這一點,這樣我就不必打擾任何前端代碼。有條件的字段選擇oracle
我有一個表有三個名稱字段 - 名稱1,名稱2,名稱3。
隨機可能存在任何或所有這些字段中的值。
我想查詢將返回三個字段使得
它會檢查1,名稱2,名稱3 - 這曾經第一個字段的值爲進入FIRST_NAME, 其有史以來第二個字段的值爲進入SECOND_NAME,然後third_field。
我可以輕鬆編寫CASE-END語句來填充first_name,但是當我開始編寫second_name的邏輯時,它變得更加複雜。
的SQL:
SELECT
CASE
WHEN NAME1 IS NOT NULL
THEN NAME1
ELSE
CASE
WHEN NAME2 IS NOT NULL
THEN NAME2
ELSE
CASE
WHEN NAME3 IS NOT NULL
THEN NAME1
ELSE ''
END
END
END FIRST_NAME
FROM TABLE_NAME
現在,我該如何處理SECOND_NAME和third_name?或者他們是一個更簡單的方法?
任何幫助表示讚賞..
你,先生,真棒!這個漂亮的作品正是我需要的!我知道你對錶結構和內容的意義 - 但它的舊式系統我不能修改(也是我沒有觸及前端代碼並在SQL內處理這個問題的原因) 再次感謝,我希望我可以多次讚揚你的答案! *快樂* –