powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Данные из столбцов имя которых соответствует шаблону
4 сообщений из 4, страница 1 из 1
Данные из столбцов имя которых соответствует шаблону
    #39907538
r59
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
r59
Гость
Как можно вывести инфу только из столбцов имя которых соответствует шаблону like 'GG%'
столбцов может быть разное количество

так нашел имена интересующих меня столбцов таблицы test1
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'test1'
and COLUMN_NAME like 'GG%'

как теперь добавить в селект эти результаты?

SELECT
t.Город
, <столбцы из прошлого запроса>
FROM test1 as t
...
Рейтинг: 0 / 0
Данные из столбцов имя которых соответствует шаблону
    #39907561
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r59,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
CREATE TABLE [dbo].[test1]
             ([Город] VARCHAR(255) NOT NULL 
            , GG1     INT NOT NULL
            , GG2     INT NOT NULL
            , GG3     INT NOT NULL
            , G1      INT NOT NULL
            , G2      INT NOT NULL
            , G3      INT NOT NULL
             );

GO

INSERT INTO [dbo].[test1]([Город], GG1, G1, GG2, G2, GG3, G3)
SELECT 'Город 1', 1, 2, 3, 4, 5, 6 UNION ALL 
SELECT 'Город 2', 1, 2, 3, 4, 5, 6 UNION ALL 
SELECT 'Город 3', 1, 2, 3, 4, 5, 6 UNION ALL 
SELECT 'Город 4', 1, 2, 3, 4, 5, 6 UNION ALL 
SELECT 'Город 5', 1, 2, 3, 4, 5, 6 
GO
 
DECLARE @object_id INT           = OBJECT_ID('[dbo].[test1]')
      , @sql       VARCHAR(1000);

SELECT 
       @sql = 'SELECT [Город]'+
                               (
                                SELECT 
                                       ', '+QUOTENAME(c.[name])
                                FROM 
                                     sys.columns AS c
                                WHERE c.object_id = @object_id
                                      AND c.[name] LIKE 'GG%' FOR
                                XML PATH('')
       )+' FROM '+QUOTENAME(OBJECT_SCHEMA_NAME(@object_id))+'.'+QUOTENAME(OBJECT_NAME(@object_id));

EXECUTE (@sql);
GO 

DROP TABLE [dbo].[test1];
...
Рейтинг: 0 / 0
Данные из столбцов имя которых соответствует шаблону
    #39907643
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
r59,
Код: sql
1.
2.
CREATE TABLE [dbo].[test1]
... [dbo].[test1];



Не учи детей плохому.
Лучше расскажи им азы реляционной теории.
И открой свет истины: "так делать не надо."
...
Рейтинг: 0 / 0
Данные из столбцов имя которых соответствует шаблону
    #39907846
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

Пусть учатся на своих ошибках )))
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Данные из столбцов имя которых соответствует шаблону
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]