好吧...所以我想要做的是有一個查詢(我不能使用PL/SQL作爲查詢由不能處理PL/SQL的應用程序使用)只是查詢一個表,如果不滿足特定條件,它實際上會在返回的結果中創建一個具有該條件的記錄(實際上並不是在表中創建記錄) 。Oracle SQL:如果不滿足條件在返回的結果中創建一條記錄
要這樣設置,設想只有一個表有以下的列:ID,TEST,並SPEC並且可以具有數據如下所示:
1234 LIMIT_TEST Total of limits
4321 LIMIT_TEST Total of limits
5678 LIMIT_TEST Etha
8765 LIMIT_TEST Metha
的SPEC列由一個情況下產生的, when,then語句將表達式從SPECIFICATION列中提取出來。
所以你會看到居然有3個LIMIT_TESTs:
- 限制
- ETHA總
- 梅塔
然而,對於ID 1234,只有「總限制」。我需要有查詢返回的是一樣的東西:
1234 LIMIT_TEST Total of limits
1234 LIMIT_TEST null Etha
1234 LIMIT_TEST null Metha
(想象一下,在case語句中添加一列放什麼的零點是)。
任何想法表示讚賞。
用解釋編輯答案。 – gsamaras
發明。但是,如果同一個id有兩行,它會返回相乘的行,我猜想在'a.id'之前添加'distinct'會有幫助(不確定)。 請正確查詢並用簡短的單詞解釋,這是一個有趣的答案。 –