У меня есть домашнее задание в SQL для Oracle 10g, где я должен применить объединение к двум различным операторам выбора, чтобы вернуть два столбца.Мне нужно, чтобы значения каждой ячейки в vendor_state указывали на CA, а каждое другое значение в другом состоянии возвращало «Внешний CA», чтобы указать, что они находятся в другом месте.
Я применил объединение и создал два столбца и списки для CA, но было перечислено много других идентификаторов состояний, и я не смог найти объяснения того, как изменить фактические значения в самом запросе.В конце концов я наткнулся на ответ, но не могу объяснить, почему это работает.Код выглядит следующим образом:
SELECT vendor_name,
vendor_state
FROM vendors
WHERE vendor_state IN 'CA'
UNION
SELECT vendor_name,
'Outside CA' AS vendor_state
FROM vendors
WHERE vendor_state NOT IN 'CA'
ORDER BY vendor_name
Это дает мне точный ответ, который мне нужен, но я не знаю, почему псевдоним во втором операторе select может вести себя так ... объяснений нетв моем учебнике ничего из того, что я читал, не указывает на то, что псевдоним столбца может быть выполнен следующим образом.Но, переключая имя столбца и значение псевдонима, я заменил возвращаемое значение, а не само имя столбца ... Я не жалуюсь на результат, но было бы полезно, если бы я знал, как я это сделал.