Предположим, что у меня есть таблица вроде этого:SQL: Показать столбец только если есть данные в нем
name | age | experience
abc | 18 | 0
def | 19 | 0
efg | 20 | 0
Я хочу, чтобы выбрать столбец опыта только если одно значение больше нуля. В этом случае мой запрос SQL
должен возвращать только имя и возраст, а не опыт.
Если опыт let говорит, что «efg» больше 0, запрос должен возвращать имя, возраст и опыт. Я попытался следующий запрос
SELECT EXISTS (SELECT name,age,experience FROM emp_info)
AND NOT
EXISTS (SELECT experience FROM emp_info WHERE experience=0);
Но это не работает.
Предоставьте лучшие примеры. –
Как это не работает? Кроме того, немного запутался ... Если опыт> 0, то только выберите столбец опыта? Или вы имеете в виду, если опыт <= 0, затем выберите другие 2 столбца, поэтому опыт показывается только там, где он> 0? – David
Используете ли вы MySQL или MS SQL Server или Oracle? Не помещайте те продукты, которые не задействованы. – jarlh