2013-04-11 5 views
1

У меня есть одна таблица, и запрос sql возвращает 2 разных столбца. Но я хочу, чтобы результат этих двух столбцов был в одном столбце, и это тоже имело только уникальные результаты.Слияние данных двух столбцов одной таблицы в один столбец

Вы также можете предложить что-нибудь, если я смогу что-то сделать в Java-коде, чтобы получить желаемый результат, то есть после извлечения результатов из запроса любые манипуляции с Java-кодом, с помощью которых я могу найти решение этой проблемы ,

Я также не хочу добавлять/объединять значения двух столбцов. Мне просто нужен результат только в одном столбце с уникальными значениями.

Пример:

Column limitN Column limitR 
    3500   3500 
    6500   6500 
    10000   7500 
    50000   50000 

Так что в данном случае я хочу требуемые значения столбцов, как:

 3500 
    6500 
    7500 
    10000 
    50000 
+2

Пожалуйста покажите нам код, который вы уже пробовали, или схему вашей базы данных. В противном случае это немного неопределенно ... –

+0

Sql server 2008 table: LimitAmount columns: limitN, limitR, UserId, UserName Я хочу ограничить значения limitN и limitR только одним и уникальными значениями. – user2269302

+0

Обычно рекомендуется включать образец вашей структуры данных/кода при задании вопроса. Вероятно, вы получите гораздо лучший ответ. – Tanner

ответ

1

Как насчет

SELECT DISTINCT SingleValue 
FROM (
     SELECT col1 + ' ' + col2 AS SingleValue 
     FROM YourTable 
     ) 

Внутренние выберите сцепляет ваших двух столбцов вместе, внешний выбор получает только уникальные значения. Это объединение предполагает, что значения VARCHAR/строка, в противном случае вы должны были бы CAST их типа VARCHAR, чтобы сцепить

+0

TBH Я не уверен, что ему даже нужен исходный 'col1, col2' - так просто' SELECT DISTINCT col1 + '' + col2 AS SingleValue FROM YourTable ', но я думаю, что, возможно, проще включить дополнительную логику в более подробный подход, который я принял. –

+0

CAST (col1 as varchar) + '' + CAST (col2 as varchar) –

+0

внешний SingleValue не будет работать, потому что это будет недопустимое имя столбца. – user2269302

1

Вы можете использовать UNION запрос, чтобы создать столбец с DISTINCT значениями:

SELECT limitN AS limitJoined 
FROM YOUR_TABLE 
UNION 
SELECT limitR AS limitJoined 
FROM YOUR_TABLE 
Смежные вопросы