powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / из таблицы в строку
5 сообщений из 5, страница 1 из 1
из таблицы в строку
    #39997657
SwLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица примерно 250 полей, плавающая структура - т е сегодня поле F1 - имя, завтра - адрес. признак, чем сегодня является поле, есть.
таблица не моя, но мне нужны из нее данные.
как в процедуре переписать названия полей в одно поле во временной таблице для парсинга ?
...
Рейтинг: 0 / 0
из таблицы в строку
    #39997661
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwLana,

я не совсем понял, что и куда вы хотите переписывать, но список полей таблицы можно получить через
sys.syscolumns
...
Рейтинг: 0 / 0
из таблицы в строку
    #39997670
SwLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex, список полей я знаю - f1,f2 ...f250
в таблице есть строка - шифр, что лежит в конкретном поле.
F1 - имя, F2 - адрес и т д.
вот ее-то я и хочу считать в одно поле. то есть получить таблицу вида :
поле1 поле2
F1 имя
F2 адрес
...
Рейтинг: 0 / 0
из таблицы в строку
    #39997687
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwLana
msLex, список полей я знаю - f1,f2 ...f250
в таблице есть строка - шифр, что лежит в конкретном поле.
F1 - имя, F2 - адрес и т д.
вот ее-то я и хочу считать в одно поле. то есть получить таблицу вида :
поле1 поле2
F1 имя
F2 адрес

Что то написано... не то?

>>в таблице есть строка - шифр, что лежит в конкретном поле.
>>вот ее-то я и хочу считать в одно поле
>>то есть получить таблицу вида :
Вы уж определитесь. Сформулируйте четче.
Но подозреваю, что есть поле, с текстом 'F1 имя F2 адрес ...etc'
Так парсить строку, и заполнять нужную таблицу
...
Рейтинг: 0 / 0
из таблицы в строку
    #40000771
Агрох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх, помню что в MS SQL это всё делается очень красиво через преобразование в XML/JSON, с их последующей обработкой стандартными средствами. Попробуй в эту сторону покопать.

Ну и всегда остаётся волшебная рекурcия (пример написан на FB, нужен подгон под MS SQL):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
WITH recursive R0 AS (
  SELECT CAST('F1 Name,F2 SEX,F3 Age,' AS VARCHAR(1000)) AS InStr FROM RDB$DATABASE
), R1 AS (
  SELECT substring(InStr FROM 1 FOR position(' ' IN InStr) - 1) AS Field,
    substring(InStr FROM position(' ' IN InStr) + 1 FOR position(',' IN InStr) - 1 - position(' ' IN InStr)) AS FieldName,
    substring(InStr FROM position(',' IN InStr) + 1) AS InStr
  FROM R0

  UNION ALL

  SELECT substring(InStr FROM 1 FOR position(' ' IN InStr) - 1) AS Field,
    substring(InStr FROM position(' ' IN InStr) + 1 FOR position(',' IN InStr) - 1 - position(' ' IN InStr)) AS FieldName,
    substring(InStr FROM position(',' IN InStr) + 1) AS InStr
  FROM R1
  WHERE position(',' IN InStr) > 0
)
SELECT Field, FieldName FROM R1
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / из таблицы в строку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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