SQL создает столбец переменных значений на основе условия - PullRequest
0 голосов
/ 15 июля 2009

Я хотел бы создать запрос, который возвращает строки в следующем формате:

имя строки, int период, двойное значение, категория строки

там, где есть два набора данных, которые я хочу иметь одинаковое имя и период, значение является произвольным, и категория должна быть 1 или 2. Данные категории не существуют и их необходимо «создать» в запрос.

Два набора данных будут взяты из отдельных таблиц A и B, которые возвращают:

имя, период, значение

Итак, я хочу поместить строку '1' в столбец категории, если она из A, '2', если она из B, и вернуть нормальные данные в другие столбцы.

Как я мог это сделать?

Ответы [ 2 ]

2 голосов
/ 15 июля 2009

Использование UNION ALL

SELECT  name, 
        period, 
        value, 
        '1' AS category
FROM    tableA
UNION ALL
SELECT  name, 
        period, 
        value, 
        '2' AS category
FROM    tableB
2 голосов
/ 15 июля 2009

Как я читаю ваш вопрос, вы делаете union, и вы хотите увидеть, какое значение находится в таблице A, а какое в таблице B. Если это так, то создание вашей категории очень просто, так как вы просто указываете желаемое значение для таблицы, в которой вы находитесь. Например:

select
    name,
    period,
    value,
    '1' as category
from
    A
union all
select
    name,
    period,
    value,
    '2' as category
from
    B
order by
    name, period, category
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...