我目前有在WHERE子句中的應用選擇多行數據的查詢:Oracle查詢返回一個基於列的行值
SELECT
APP_NAME,
NAME,
ROLE
FROM APP_PERSON
WHERE APP_NAME='ABCD'
ORDER BY APP_NAME,NAME
這將返回:
ABCD Bob Executive Director
ABCD Kim Director
ABCD Sara Associate Director
ABCD Tim VP
我'這樣做是爲了返回一行,與最低的標題'角色'的人。順序是:副總監,董事,執行董事,副總裁(這是唯一的選擇)。
因此,對於上面的例子,我想返回的唯一行:
ABCD Sara Associate Director
如果不是一個副主任,我想導演。我如何創建一個能夠做到這一點的查詢。我假設某種DECODE,但不知道該去哪裏。謝謝你的幫助!
的清潔方式(和NF)是創建一個角色表,添加一個「層次級」列,然後加入。 –
如果可能,我想不必對數據庫進行任何更改。謝謝 – ad2387
只是一個猜測:你會後悔在2年內。 –