как получить отличные записи из всех столбцов из таблицы в postgresql - PullRequest
0 голосов
/ 04 октября 2018

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

select distinct col1, col2, col3,........ from test_table

, но есть ли хороший запрос для извлечения отдельных записей из всех столбцов таблицы без упоминания имен столбцов в запросе.

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Поскольку вы хотите DISTINCT для всех столбцов и хотите выбрать все столбцы, это не может быть проще:

SELECT DISTINCT * FROM table

0 голосов
/ 04 октября 2018

Я не уверен, что есть более простой способ. Вы можете использовать information_schema, чтобы получить столбцы, а затем использовать их.

    SELECT string_agg(column_name::character varying, ',') as columns
FROM information_schema.columns 
WHERE table_schema = 'schema_name'
AND table_name   = 'table_name'

Это вернет вам список столбцов в вашей таблице.

 SELECT string_agg(column_name::character varying, ',') as columns
    FROM information_schema.columns 
    WHERE table_schema = 'schema_name'
    AND table_name   = 'table_name' \gset

Вы можете обратиться к gset здесь ,

Например, если ваша таблица имеет два столбца 'a' и 'b', gset сохранит 'a, b '.

echo можно использовать для проверки того, что gset сохранил,

\echo :columns

Следующий запрос может помочь вам,

select distinct :columns from table_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...