Как использовать union all с ручным значением (не из другой таблицы)?


Я хочу использовать union all с ручным значением, а не из другой таблицы. А значения таковы:

|cSatuan1|cSatuan2|nkonversi|
=============================
|   LTR  |   PCS  |    1    |
|   PCS  |   LTR  |    1    |

Я сделал запрос своим собственным способом, но он получает ошибку. вот запрос:

SELECT csatuan2, csatuan1, nkonversi
FROM ms_metriks union all select 'LTR','PCS','1','PCS','LTR','1'
Можете ли вы сказать мне, что не так с моим запросом, и какой запрос правильный?
3 4

3 ответа:

Попробуйте это:

SELECT csatuan2,csatuan1,nkonversi FROM ms_metriks 
UNION ALL SELECT 'LTR','PCS','1'
UNION ALL SELECT 'PCS','LTR','1'

Вот один из способов, которым вы можете это сделать:

SELECT 'LTR' as csatuan1,'PCS' as csatuan2,'1' as nkonversi
UNION
SELECT 'PCS','LTR','1';

Я осмелюсь добавить свой опыт работы с Oracle. У меня там была очень похожая проблема, как выбрать имена пользователей из таблицы и добавить к результату значение 'admin':

Возникла проблема, что этот запрос:

select
  username      
from users
union 
  select 'admin' 

Возвращает ошибку:

Error at Command Line : 5 Column : 17
Error report -
SQL Error: "FROM keyword not found where expected"

В качестве решения я добавляю добавленный "манекен" из части с той же таблицей:

select
  username     
from users
union 
  select 'admin' 
  from users

И это работает.

J.