|
sql, xslt - вытянуть данные из таблицы в одну строку
#22127
![]() Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
Добрый день, уважаемые форумчане! Подскажите, пожалуйста, как данные из таблицы можно "вытянуть" в строку да еще и по ячейкам, нетипично - см.вложение.1. на уровне sql - записать в одну строку через условный разделитель - функция list, можно потом как-нибудь разделить на ячейки в xslt? 2. на уровне xslt - есть ли какая-нибудь функция условно position, которая стартует с определенного числа, и в каждой новой ячейке в одной строке идет увеличение на единицу? Если есть какие-нибудь мысли, буду очень благодарна! ... |
||||||||||||||||
:
Изменено: 24.04.2022, 16:20 - kiparis
Нравится:
Не нравится:
|
||||||||||||||||
24.04.2022, 16:18 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
Добрый день, уважаемые форумчане! Подскажите, пожалуйста, как данные из таблицы можно "вытянуть" в строку да еще и по ячейкам, нетипично - см.вложение.1. на уровне sql - записать в одну строку через условный разделитель - функция list, можно потом как-нибудь разделить на ячейки в xslt? 2. на уровне xslt - есть ли какая-нибудь функция условно position, которая стартует с определенного числа, и в каждой новой ячейке в одной строке идет увеличение на единицу? Если есть какие-нибудь мысли, буду очень благодарна! или через union all а потом группировку если число колонок заранее известно По xslt это же язык шаблонов, тут можно разворачивать вывод не только по строкам но и по колонкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2022, 17:27 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
Спасибо, что откликнулись!
По sql через pivot можно, если он есть или через union all а потом группировку если число колонок заранее известно По xslt это же язык шаблонов, тут можно разворачивать вывод не только по строкам но и по колонкам. ... |
|||
:
Изменено: 24.04.2022, 18:00 - kiparis
Нравится:
Не нравится:
|
|||
24.04.2022, 17:50 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
По xslt это же язык шаблонов, тут можно разворачивать вывод не только по строкам но и по колонкам. В цикле сделать такой же цикл, но в в отличие от обычного цикла, в первом проходе выдавать первую колонку(гне строку!). Во втором втором проходе вторую колонку. И так далее У вас получится развернутая таблица. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2022, 18:20 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
kiparis [игнорируется] В общем случае никак. Всегда будут ограничения как минимум на длину "строки". Хотя вам в XML видимо надо выгрузить, а там в любом случае LOB объект надо будет использовать. Что касается pivot и FB, то поищите, как там народ заменяет его. В общем случае это будет динамический SQL, раз неизвестно количество столбцов. Вот первое, что выдал гугл Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Но там опять таки 2.5, может в тройке что и иначе работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2022, 09:39 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
2. на уровне xslt - есть ли какая-нибудь функция условно position, которая стартует с определенного числа, и в каждой новой ячейке в одной строке идет увеличение на единицу? А как ее применить - зависит от того, что тебе надо получить: - если просто счетчик элементов должен начинаться не с 1, а с некоторого N - тогда просто для счетчика используй выражение position() + N - 1 - если же надо перебирать элементы начиная не с первого, а с N-го - тогда внутри своего цикла, в котором перебираются элементы, можно добавить дополнительное условие: <xsl:if test="position() > N-1">...что-то сделать...</xsl:if> ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2022, 17:59 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
Ханурик [игнорируется] Мне нужно не просто пронумеровать, а в строки вытянуть, теперь в несколько строк - в каждой строке по 10 столбцов ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2022, 19:18 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
kiparis [игнорируется] Я давно с FB дела не имею и под руками его у меня нет. Приведённый пример из гугла на мой взгляд достаточен. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2022, 19:22 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2022, 19:24 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
Можно сделать через жопу! В нашей стране много чего так делается :) Подключиться к ФБ из любой другой субд, умеющей pivot/unpivot/crossjoin и прочие няшки. ... |
|||
:
Изменено: 07.05.2022, 08:28 - eNose
Нравится:
Не нравится:
|
|||
07.05.2022, 08:28 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
читай про case, сделай его 10 раз и сверху сгруппируй ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2022, 12:35 |
|
sql, xslt - вытянуть данные из таблицы в одну строку
|
|||
---|---|---|---|
#18+
Ну тогда уточняющие вопросы: - данные вытянуть откуда? Поскольку на вход xslt подается xml - каким образом, какими элементами в этом xml данные представлены? Это просто последовательность однотипных элементов или что-то более сложное и структурированное? - строки и столбцы записать куда? Какой формат должен получиться на выходе xlst и что в этом формате представляют собой "столбцы"? (например, если на выходе нужен html, то он может содержать разметку для таблицы со столбцами. Или нужно что-то другое?) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2022, 14:43 |
|
|
Start [/forum/topic.php?fid=4&msg=33904&tid=889]: |
0ms |
get settings: |
2ms |
get forum list: |
4ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
28ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
98ms |
get tp. blocked users: |
0ms |
others: | 10ms |
total: | 154ms |
0 / 0 |