Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886

Создание динамической таблицы с количеством и наименованиями столбцов на основе записей другого столбца

01.05.2023, 22:21. Показов 3934. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Имеется таблица, в которой содержатся наименования столбцов
IdНаименование
1Форма
2Вес
3Цена

Требуется на основе неё создать новую таблицу со столбцами, наименования которых содержится в выше указанной таблице.
Подскажите пожалуйста код на SQL

Добавлено через 1 минуту
предполагаю надо использовать cursor?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2023, 22:21
Ответы с готовыми решениями:

Создание таблицы с нефиксированным количеством столбцов
Здравствуйте! Можете помочь, пожалуйста. Нужно прописать код для того, чтобы создать таблицу с заданным количеством столбцов....

Создание таблицы с заданным количеством строк и столбцов
Необходимо, чтобы при выполнении HTML можно было ввести необходимое количество строк и столбцов, а затем по ним соответственно...

Создание таблицы с заданным количеством строк и столбцов
Как реализовать такое добавление. Суть моего задания состоит в том что, когда я ввожу в input количество участников, то у меня рисуется...

24
6004 / 4579 / 1096
Регистрация: 29.08.2013
Сообщений: 28,284
Записей в блоге: 3
04.05.2023, 07:18
Лучший ответ Сообщение было отмечено GafarovIS как решение

Решение

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от GafarovIS Посмотреть сообщение
заполнение таблицы данными из другой таблицы
а можно еще через SELECT .. INTO сразу создать таблицу
0
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886
05.05.2023, 18:37  [ТС]
Спасибо, изучил INTO. В итоге получилось создать представление (не таблицу), что мне казалось невозможным. Теперь проблема - как сохранить код? В хранимой процедуре не получается. Код такой:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DROP VIEW IF EXISTS [ТаблицаЕдиничныхПонятий]
DECLARE @Признак NVARCHAR(MAX) = ''
    SELECT @Признак = @Признак
        + N', (SELECT ЗапрашиваемыеЕдиничныеПонятия.Текст
        FROM ТекущиеЕдиничныеПонятия
        INNER JOIN ТекущиеЕдиничныеПонятия AS ЗапрашиваемыеЕдиничныеПонятия
            ON (ТекущиеЕдиничныеПонятия.Наименование
            = ЗапрашиваемыеЕдиничныеПонятия.Наименование)
            AND (ТекущиеЕдиничныеПонятия.Id = ЗапрашиваемыеЕдиничныеПонятия.Id)
        WHERE (((ТекущиеЕдиничныеПонятия.Наименование)=N'''
        + CAST(TRIM(Наименование) AS NVARCHAR)
        + '''))) AS '
        + CAST(TRIM(Наименование) AS NVARCHAR)
    FROM ТекущиеЕдиничныеПонятия
DECLARE @Запрос NVARCHAR(MAX) = ''
SET @Запрос = N'CREATE VIEW [dbo].[ТаблицаЕдиничныхПонятий] AS SELECT DISTINCT ТекущиеЕдиничныеПонятия.Id'
    + @Признак
    + N' FROM ТекущиеЕдиничныеПонятия'
EXEC(@Запрос)
Добавлено через 6 минут
сообразил:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE PROCEDURE [dbo].[PROCEDURE]
    @Признак NVARCHAR(MAX) = '',
    @Запрос NVARCHAR(MAX) = ''
AS
DROP VIEW IF EXISTS [ТаблицаЕдиничныхПонятий]
    SELECT @Признак = @Признак
        + N', (SELECT ЗапрашиваемыеЕдиничныеПонятия.Текст
        FROM ТекущиеЕдиничныеПонятия
        INNER JOIN ТекущиеЕдиничныеПонятия AS ЗапрашиваемыеЕдиничныеПонятия
            ON (ТекущиеЕдиничныеПонятия.Наименование
            = ЗапрашиваемыеЕдиничныеПонятия.Наименование)
            AND (ТекущиеЕдиничныеПонятия.Id = ЗапрашиваемыеЕдиничныеПонятия.Id)
        WHERE (((ТекущиеЕдиничныеПонятия.Наименование)=N'''
        + CAST(TRIM(Наименование) AS NVARCHAR)
        + '''))) AS '
        + CAST(TRIM(Наименование) AS NVARCHAR)
    FROM ТекущиеЕдиничныеПонятия
SET @Запрос = N'CREATE VIEW [dbo].[ТаблицаЕдиничныхПонятий] AS SELECT DISTINCT ТекущиеЕдиничныеПонятия.Id'
    + @Признак
    + N' FROM ТекущиеЕдиничныеПонятия'
EXEC(@Запрос)
0
6004 / 4579 / 1096
Регистрация: 29.08.2013
Сообщений: 28,284
Записей в блоге: 3
05.05.2023, 18:38
Цитата Сообщение от GafarovIS Посмотреть сообщение
В хранимой процедуре не получается
почему?
0
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886
05.05.2023, 19:54  [ТС]
Цитата Сообщение от GafarovIS Посмотреть сообщение
сообразил:
первый раз потому что пробовал. уже получислось
0
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886
06.05.2023, 20:17  [ТС]
Помогите пожалуйста во этому вопросу: Программное создание TableAdapter и BindingSource
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2023, 20:17

Создание записей в таблице на основе данных уже существующей таблицы
Добрый день! Данные вводимые в базу можно условно разделить на 2 части: Основные данные(неизменные от раза к разу) и уточняющие(меняются...

Автоматическое создание запросов на основе значений столбца таблицы
Здравствуйте! Выкручивался ранее в экселе, но объемы стали выше критических. Таблица имеет два столбика. Простой пример. Есть...

Создание запроса на основе главной таблицы с полем для посчета записей в подчиненной таблице.
Главная таблица - Занятия: IDзанятие | Занятие; Подчиненная таблица - Посетители: IDпосетитель | IDзанятие | Посетитель Запрос:...

Используя оператор CREATE TABLE AS, выполнить запрос на создание новой таблицы на основе выбора записей
была таблица: CREATE TABLE Картотека_поликлиники (Фамилия_пациента CHAR(30) PRIMARY KEY, Инициалы_пациента CHAR(15), Адрес CHAR (30),...

Обновление столбца одной таблицы из другого столбца другой таблицы (база одна)
Доброго времени суток! Очень нуждаюсь в помощи. Значит: 2 таблицы 1 - product, 2-product_description Нужно обновить столбец...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru