Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Господа, такая задачка: table1 field1 field2 a 1a a 2a a 3a b 1b b 2b .... n xn Нужно получить такой результат: field1 field2 a 1a2a3a b 1b2b ... n 1n2n..xn сгруппировать для каждого field1 все значения field2 в виде одной строки. По сути получить Pivot таблицу. Можно ли подобную задачку решить при помощи запроса или перебора всех записей в курсоре не избежать? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 00:33 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Kru пишет: > Можно ли подобную задачку решить при помощи запроса или перебора всех > записей в курсоре не избежать? Не избежать. Но на самом деле такого вообще по уму не надо делать никогда. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 01:52 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
самое интересно, что ASA позволяет это сделать Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 09:36 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Как собрать в одну строку значения из N записей _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 11:23 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Как собрать в одну строку значения из N записей _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 Прикольная фича, хотя она задачку не решает, т.к. группировок с её помощью группировок не сделаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 22:23 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Как собрать в одну строку значения из N записей _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 Задачу немного поменяли и фича очень пригодилась : -) Большое спасибо! Теоретически интересно можно ли сделать настоящую Pivot таблицу -так чтобы строки стали столбцами - средствами ASE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 01:42 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Kru пишет: > Теоретически интересно можно ли сделать настоящую Pivot таблицу -так > чтобы строки стали столбцами - средствами ASE? Это надо на клиенте делать, зачем вам этой ерундой сервер мучать ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 16:04 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
MasterZiv Kru пишет: > Теоретически интересно можно ли сделать настоящую Pivot таблицу -так > чтобы строки стали столбцами - средствами ASE? Это надо на клиенте делать, зачем вам этой ерундой сервер мучать ? Posted via ActualForum NNTP Server 1.4 Бывает иногда, что просят разовую выборку. Не будешь же из-за этого целое приложение писать. Инструмент типа бизнес обжектса тоже не всегда под рукой есть. Отсюда и вопросы. Задача кажется довольно стандартной и наверняка есть готовые решения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 16:51 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Kru пишет: > Бывает иногда, что просят разовую выборку. Не будешь же из-за этого > целое приложение писать. Инструмент типа бизнес обжектса тоже не всегда Crystal Reports. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 17:07 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Количество значений а, b, c, d, ... ограничено? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 17:09 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
KruТеоретически интересно можно ли сделать настоящую Pivot таблицу -так чтобы строки стали столбцами - средствами ASE?Можно на любом сервере. Стандартным SQL. Ну почти стандартным :) И почти Pivot :) 1) Делаешь временную таблицу с отдельной колонкой под каждую колонку итогового кросстаба (конечно если заранее количество колонок не известно то прийдется либо извращаться с генерированием ddl-скриптов в рантайме, либо все-же отдавать задачу клиенту). Но если итоговые колонки заранее известны, то все очень просто получается. Например если в задаче надо сделать кросс-таб "продажи по дням недели" делаешь итоговый кросстаб: Код: plaintext 2) В таблице источнике ОБЯЗАТЕЛЬНО должно быть поле однозначно идентифицирующее в какую колонку должно отправится значение. Например: Код: plaintext 3) Ну а дальше уже все просто, сначала заполняешь Total колонку, это даст тебе все возможные строки в кросстабе: Код: plaintext 4) И последний этап заполняешь середину кросстаба: Код: plaintext 1. 2. 3. 4. Если колонки заранее известны, но значения могут попасть в любую из них, например в задаче "показать суммы четырех последних продаж". То итоговый кросстаб и заполнение его слегка усложнятся: 1) Код: plaintext 1. 2) Исходная таблица будет такого вида: Код: plaintext 3) Создаем строки в кросстабе: Код: plaintext 4) Заполняем вторую, третью и четвертую дату по принципу: максимальная дата из тех что меньше предыдущей выбранной. Код: plaintext 1. 2. 5) Ну и наконец можно заполнить колонки с суммами продаж: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 18:21 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
rcryoКоличество значений а, b, c, d, ... ограничено? Если это так то тогда используется что-то типа: select sum(case <colm>=<value1> else 0 end ) col1, sum(case <colm>=<value2> else 0 end ) col2, ... sum(case <colm>=<valuen> else 0 end ) coln, group by <colk1>, <colk2>,...<colkn>, где kn <> m Или мах вместо sum ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 19:08 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 20:00 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
White Owl пишет: > Можно на любом сервере. Стандартным SQL. Ну почти стандартным :) И почти > Pivot :) Вся суть-то - в этих "почти". Начиная уже с "создать временную таблицу". Т.е. по сути - это невозможно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 12:18 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
MasterZivWhite Owl пишет: > Можно на любом сервере. Стандартным SQL. Ну почти стандартным :) И почти > Pivot :) Вся суть-то - в этих "почти". Начиная уже с "создать временную таблицу". Т.е. по сути - это невозможно.Ну зачем же так категорично? Да, две задачи которые я упомянул не являются полноценными кросстабами, но они встречаются достаточно часто чтобы про них знать и знать что их можно решить не выходя за рамки хранимой процедуры. Ну а решать их через временные таблицы или через формулы с case в колонках селекта как показал Zhora это уже детали. И все упомянутые решения будут прекрасно работать в нашил любимых серверах и в ASA и ASE. Полноценный кросстаб - невозможно, кросстабы которые чаще всего нужны заказчикам - вполне возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 17:25 |
|
||
|
можно ли обойтись зпаросом? ASE12.5.4
|
|||
|---|---|---|---|
|
#18+
White Owl пишет: > Ну зачем же так категорично? Да, две задачи которые я упомянул не Да потому что это нифига не обработка данных. Это - обработка представления данных. Вот и надо ее делать на клиенте. Не, ну тут конечно каждый, так сказать, хочет, как он хочет. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 19:06 |
|
||
|
|

start [/forum/topic.php?fid=55&tid=2011767]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 469ms |

| 0 / 0 |
