CrossTab : Аналог transform в MSACCESS
CrossTab : Аналог transform в MSACCESS
Вот, собственно, сабж.
Есть ли оный в InterBase/FireBird?
Есть ли оный в InterBase/FireBird?
Может быть тебе поможет вот это?
Спасибо.stepan96 писал(а):Может быть тебе поможет вот это?
Видел, читал, но все-таки надеялся...
Мне тогда проще самому пару-тройку запросов написать, завязавшись на свою структуру, благо их нужно немного.
Жаль что нет "решения на системном уровне"(с) Сага о программистах
а есть ли такая процедурка под птичку 2 у кого нибуть ?
назревает такая ситуация что понадобятся кросы, и хотелось бы одним запросом их решить, в случае использования процедуры их все равно будет 2 , но уже лучше чем ничего =)
кста никогда не работал с времеными таблицами может примерчик у кого есть?
назревает такая ситуация что понадобятся кросы, и хотелось бы одним запросом их решить, в случае использования процедуры их все равно будет 2 , но уже лучше чем ничего =)
кста никогда не работал с времеными таблицами может примерчик у кого есть?
да отчет. отчетом то самое просто решить, мы же легких путей не ищем =)Кросс - это чаще всего отчёт. Так может, отчётником эту задачу и решать?
просто у меня отчеты одновременно отоброжаются и в клиенте и через веб. так что отображение в грид получается самым простым решением.
интересно а можно ли сделать как нибуть так:
процедура будет возрощать result в таком виде
~поле1~поле2~поле3~поле4~
~23~23~43~456~
~456~897~12~7~
и чтоб сделать селект в селекте чтоб вытащить даные отсуда ?
www.ibase.ru/ibfaq.htmи чтоб сделать селект в селекте чтоб вытащить даные отсуда ?
ну значек ~ я там то и увидел =)
и как параметр это использовать тоже пнятно,
даже понятно как в процедуре это порезать если известно кол-во столбцов
а вот как это в селекте сделать, но не увидел я там.
единственое что придумал это не делать разделитили ~
,а определить максимальный размер значения к примеру 3
минусы
1 в реальности максимальный размер не будет меньше 20
2 количество сабстрингов может быть несколько десятков
3 для универсальности все лишнии сабстринги будут пустышками болтаться
плюсы
ну хоть какой-то результат =)
PS. знаю что изврат, но если можно так добится результата то почему бы и нет =)
и как параметр это использовать тоже пнятно,
даже понятно как в процедуре это порезать если известно кол-во столбцов
а вот как это в селекте сделать, но не увидел я там.
единственое что придумал это не делать разделитили ~
,а определить максимальный размер значения к примеру 3
Код: Выделить всё
select substring(RESULT from 1 for 3),
substring(RESULT from 4 for 3),
substring(RESULT from 7 for 3),
substring(RESULT from 10 for 3),
substring(RESULT from 13 for 3),
substring(RESULT from 16 for 3),
substring(RESULT from 19 for 3) from
(select '111 2333444 5 62' RESULT from rdb$database)
1 в реальности максимальный размер не будет меньше 20
2 количество сабстрингов может быть несколько десятков
3 для универсальности все лишнии сабстринги будут пустышками болтаться
плюсы
ну хоть какой-то результат =)
PS. знаю что изврат, но если можно так добится результата то почему бы и нет =)
да но мысль в том чтоб не менять веб движок на каждый отчет.Вроде отчётники и в веб умеют. Ы?