Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выборка динамически из одного поля в несколько колонок / 14 сообщений из 14, страница 1 из 1
23.11.2021, 16:20
    #40114212
гуманоид
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
Доброго!
Вопросец есть. Покопал форум не нашел ответ, может вопрос не верно ставил.
Не обессудьте. Если кто видел такую тему ткните носом плиз.
Можно ли выбрать из одного поля в разные колонки в зависимости от значения другой колонки.
Т.е. есть табличка
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
IdConttract idgoods Yearbay Cost    Primecost ....
  1 	       1      2015   40000   20000
  1 	       2      2015   15000   8000
  1 	       3      2015   4000    2000
  5 	       1      2016   38000   20000
  5 	       4      2016   8000    4000
  5 	       8      2016   33000   16000
  6 	       4      2017   8000    4000
  6 	       8      2017   33000   16000



Хотелось бы получить

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
Товар |    2015        |    2016        |   2017 ......
      | cost| primecost| cost| primecost| cost| primecost
-----------------------------------------------------------
1       40000   20000    38000   20000
2       15000   8000
3       4000    2000
4                        8000    4000    8000    4000
8                        33000   16000   33000   16000
...
Рейтинг: 0 / 0
23.11.2021, 16:29
    #40114214
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
Код: sql
1.
2.
3.
4.
SELECT
  CASE WHEN Yearbay = 2015 THEN Cost END AS Cost2015,
  CASE WHEN Yearbay = 2016 THEN Cost END AS Cost2016,
...
...
Рейтинг: 0 / 0
23.11.2021, 16:35
    #40114217
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
гуманоид
Можно ли выбрать из одного поля в разные колонки в зависимости от значения другой колонки.
Обычно это не требуется, "колонка" задаётся в используемом отчётнике (см. "кросс-отчёт")
...
Рейтинг: 0 / 0
23.11.2021, 17:17
    #40114244
гуманоид
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
Мимопроходящий
Код: sql
1.
2.
3.
SELECT
  CASE WHEN Yearbay = 2015....
...



Не совсем то.
Не известны заранее года которые будут отобраны и их интервал .

WildSery
"кросс-отчёт")


Насколько я понимаю речь о FR?
Но, мне надо отобразить это в гриде.
Ну и это я сильно упростил задачу. Данные там несколько сложнее.
...
Рейтинг: 0 / 0
23.11.2021, 17:19
    #40114247
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
гуманоид
Не известны заранее года которые будут отобраны и их интервал .
тогда упейся ап стену.
...
Рейтинг: 0 / 0
23.11.2021, 17:22
    #40114252
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
гуманоид,

нельзя так, чтобы заранее неизвестно число колонок.
Can not. Nie wolno. Muss nicht.

Грузи данные на клиента и верти как хочешь.
...
Рейтинг: 0 / 0
23.11.2021, 17:43
    #40114267
гуманоид
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
ъъъъъ
гуманоид,

нельзя так, чтобы заранее неизвестно число колонок.
Can not. Nie wolno. Muss nicht.

Ну почему нельзя? К примеру ОЛАП кубики оперируют данными и группируют в различных ипостасях.
К примеру тот же cxPivotGrid
Вот только мне надо нечто подобное, только что бы не суммировало входящие результаты )))

Мимопроходящий
тогда упейся ап стену.

)))
Ну зачем же ж так сразу.
На ум приходит только execute statement внутри execute block, формируемый динамически в момент выполнения прожки.
Надеялся, что может есть решение поизящнее.
Или это тоже не решает проблемы?
...
Рейтинг: 0 / 0
23.11.2021, 17:46
    #40114271
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
гуманоидНадеялся, что может есть решение поизящнее.
Есть:
Код: pascal
1.
2.
Grid1.Cells[ds.FieldByName('idgoods').AsInteger, 
ds.FieldByName('yearbuy').AsInteger] := ds.FieldByName('cost').AsInteger;


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.11.2021, 17:47
    #40114272
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
гуманоид
На ум приходит только execute statement внутри execute block, формируемый динамически в момент выполнения прожки.
Надеялся, что может есть решение поизящнее.
Или это тоже не решает проблемы?
на кой черт ещё и каскадную проктологию к этому подключать?
формируй запрос на клиенте динамически.
...
Рейтинг: 0 / 0
23.11.2021, 17:52
    #40114274
гуманоид
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
Dimitry Sibiryakov,
Ну это просто динамическое добавление колонок в Грид, а сама выборка для поставки данных в эти колонки?
Это я и имел в виду под программным формированием SQL запроса в ДатаСете и последующим динамическим формированием колонок самого грида.
Но, это несколько громоздким выглядит.
Ну раз нету другого пути, то пойду искать стену, об которую убиваться )))
Всем спасибо за участие.
...
Рейтинг: 0 / 0
23.11.2021, 18:00
    #40114278
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
гуманоида сама выборка для поставки данных в эти колонки?

Для кода выше:
Код: sql
1.
select idgoods, yearbuy, cost from t order by 1,2


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.11.2021, 18:00
    #40114279
гуманоид
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
Мимопроходящий,
Мда... Видимо придется искать стенку...
Туповат видимо я. )))
Действительно можно программно сформировать твой запрос и всунуть в ДатаСет.
Благодарю.
...
Рейтинг: 0 / 0
23.11.2021, 18:04
    #40114284
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
гуманоид
ъъъъъ
гуманоид,

нельзя так, чтобы заранее неизвестно число колонок.
Can not. Nie wolno. Muss nicht.

Ну почему нельзя?

По кочану - (с).

гуманоид
...К примеру ОЛАП кубики оперируют данными и группируют в различных ипостасях.
К примеру тот же cxPivotGrid

А я тебе что написал?

ъъъъъ

Грузи данные на клиента и верти как хочешь.
...
Рейтинг: 0 / 0
24.11.2021, 09:16
    #40114433
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка динамически из одного поля в несколько колонок
гуманоид
Ну почему нельзя? К примеру ОЛАП кубики оперируют данными и группируют в различных ипостасях.
К примеру тот же cxPivotGrid
Похоже, об олапах знания только "по верхам".
cxPivotGrid - это средство визуализации, по сути, тот же отчётник.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выборка динамически из одного поля в несколько колонок / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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