Я ищу метод, который позволит мне выполнить одну часть запроса, если она верна, и другую часть, если она неверна.
Например:
У меня есть таблица регистрации
ID | OSUSER | LOG_MSG | LOG_DATE ---------------------------------------- 1 | ADM | lOGIN SUCCES | 21-11-2018
Когда ADM входит в систему, я хочу выполнить
Select OSUSER, LOG_DATE from LOG
Но когда кто-то еще входит в систему, я хочу добавить LOG_MSG к запросу
Мой вопрос: можно ли это получить в sql?
Что это за дб? оракул или sqlserver?


как насчет случая, когда как ниже
select ID, case when OSUSER='ADM' then OSUSER else LOG_MSG end,LOG_DATE
from LOG
SQL-запрос возвращает фиксированный набор столбцов. Таким образом, вы могли делать то, что хотите, только с динамическим SQL или несколькими запросами.
Однако вы можете замаскировать сообщение для «ADM»:
select l.OSUSER, l.LOG_DATE,
(CASE WHEN l.OSUSER <> 'ADM' THEN LOG_MSG END) as LOG_MSG
from LOG l;
какие dbms вы используете?