Имя таблицы как значение в столбце

0

У меня было упражнение:

Найдите имена компаний в порядке возрастания. Список должен включать имена поставщиков и имена клиентов. Также должна быть информация о том, является ли эта компания поставщиком или клиентом.

Он должен выглядеть примерно так:

CompanyName A, Supplier 
CompanytName B, Customer 
CompanyName C, Customer

То, что я смог сделать до сих пор:

SELECT CompanyName 
FROM suppliers
UNION
SELECT CompanyName
FROM customers
ORDER BY CompanyName ASC;

Поэтому мне не хватает информации о том, является ли компания поставщиком или клиентом. Любая помощь приветствуется, спасибо заранее и извините за плохой титул.

  • 0
    Вы можете вернуть константы в операторах выбора, select 1 from a и вернет 1, повторенный для каждой строки в
  • 0
    если можете, поделитесь пожалуйста структурой таблицы
Показать ещё 1 комментарий
Теги:

2 ответа

2
Лучший ответ

Я бы подумал, в зависимости от структуры таблиц базы данных, которые вы, возможно, захотите рассмотреть JOIN, но если вам нужно использовать UNION, я бы добавил следующее в каждую таблицу SELECT следующим образом:

SELECT CompanyName, 'Supplier'
FROM suppliers
UNION
SELECT CompanyName, 'Customers'
FROM customers
ORDER BY CompanyName ASC;
1

Вы можете просто выбрать буквенное значение в каждом из утверждений:

SELECT CompanyName, 'Supplier' AS Type
FROM suppliers
UNION
SELECT CompanyName, 'Customer'
FROM customers
ORDER BY CompanyName ASC;

Тогда у вас будет набор результатов, который вы ищете.

  • 0
    Спасибо вам большое! Я не знаю, как я сам этого не понял, я попробовал что-то более сложное.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню