SQL: Как отобразить конкретное значение в результате, если значение в столбце не соответствует вашему условию? - PullRequest
0 голосов
/ 27 сентября 2018

Я новичок в SQL и столкнулся с проблемой, которая, я надеюсь, вам поможет.

Q: Используйте оператор UNION для генерации набора результатов, состоящего из двух столбцов из таблицы Vendor: VendorName и VendorState.Если поставщик находится в Калифорнии, значение VendorState должно быть «CA»;в противном случае значение VendorState должно быть «вне CA».Сортировать окончательный результат по VendorName.

Вот таблица: Таблица До сих пор я узнал о SELECT, FROM, WHERE, ORDER BY, JOIN, UNION

Это то, что я написал: SELECT VendorName, VendorState FROM Vendors WHERE VendorState = 'CA' // Я знаю, что это неправильно UNION SELECT VendorName, VendorState FROM Vendors // Мое состояние должно быть здесь «вне CA»
ЗАКАЗАТЬИмя_вендор;

Мне нравится запускать здесь оператор IF, но я не уверен насчет синтаксиса.Может быть, что-то вроде этого: IF VendorName! = 'CA': VendorName = 'Outside CA'

Любая помощь, которую вы можете предоставить, будет высоко оценена.Спасибо.

Туан

1 Ответ

0 голосов
/ 27 сентября 2018

Вы можете использовать CASE WHEN для этого: обратитесь к этому https://www.w3schools.com/sql/func_mysql_case.asp

SELECT VendorName, case when VendorState='CA' then VendorState else 'Outside CA' end
FROM Vendors


SELECT VendorName, 'CA' as VendorState FROM Vendors where VendorState='CA'
union 
SELECT VendorName, 'Outside CA' as VendorState FROM Vendors where VendorState<>'CA'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...