Итак, у меня есть таблица:Несколько профсоюзов в Oracle Sql без каких-либо дубликатов на определенном столбце
id place user role
____________________________
1 a u1 emp
2 a u2 emp
3 a u3 smallBoss
4 b u4 emp
5 b u5 emp
6 b u6 smallBoss
7 b u7 medBoss
Теперь я хочу, чтобы создать представление с этими пользователями и их боссами в дополнительной колонке с этими правилами:
1 - если у пользователя есть smallBoss
у его места, smallBoss
находится в boss
колонке независимо от того, что !!!
2 - если пользователь не имеет smallBoss
на своем месте, то medBoss
в boss
колонке, если он присутствует, но если нет, то bigBoss
босс
3 - очевидно, smallBoss на месте b
будет иметь medBoss
в его boss
колонке
4 - bigBoss
является последний вариант
Вывод: боссы имеют какие-то обратные приоритеты:
1 - smallBoss
- если он присутствует, то он, безусловно, босс для emp
2 - medBoss
- если он присутствует, он босс для всех smallBoss
и если там нет smallBoss
на месте, то он босс для все эх
3 - «BigBoss» - он присутствует везде, но должен быть только босс для medBoss
и emp
где ни smallBoss
, ни medBoss
присутствует.
Я попытался присоединиться к версиям и объединению. Союз, кажется, ближе всего к моей цели, но у меня есть несколько пользователей с разными боссами (пользователи u4
и u5
удваиваются !!!). Я хочу u4
и u5
, чтобы показать только один раз с smallBoss в их boss
колонки:
id place user role boss
___________________________________________
1 a u1 emp smallBoss
2 a u2 emp smallBoss
3 a u3 smallBoss bigBoss
4 b u4 emp smallBoss
5 b u5 emp smallBoss
6 b u6 smallBoss medBoss
7 b u7 medBoss bigBoss
Вы должны быть более точными в разработке программного обеспечения, вы не должны говорить «пользователю», когда вы имеете в виду «пользователь, который является эм», например. Я думаю, что вы говорите: если в месте все роли - emp, то босс - medBoss для всех. Если в месте есть emp и smallBoss, но нет medBoss или bigBoss, тогда каждая emp имеет smallBoss в колонке босса, а smallBoss имеет bigBoss. Если есть emp, smallBoss и medBoss, тогда ... (как вы показываете для b). Вопросы: возможно ли иметь место с нулевым emp, просто боссы? И если да, то каковы правила? – mathguy
Я отредактировал свой вопрос с небольшим количеством информации об этом, но вы уже помогли мне с ответом. Я смогу адаптировать этот запрос к моим потребностям, поскольку у меня более сложная ситуация. Большое спасибо! :) – mystic007