powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выборка динамически из одного поля в несколько колонок
14 сообщений из 14, страница 1 из 1
Выборка динамически из одного поля в несколько колонок
    #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
Выборка динамически из одного поля в несколько колонок
    #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
Выборка динамически из одного поля в несколько колонок
    #40114217
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гуманоид
Можно ли выбрать из одного поля в разные колонки в зависимости от значения другой колонки.
Обычно это не требуется, "колонка" задаётся в используемом отчётнике (см. "кросс-отчёт")
...
Рейтинг: 0 / 0
Выборка динамически из одного поля в несколько колонок
    #40114244
гуманоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий
Код: sql
1.
2.
3.
SELECT
  CASE WHEN Yearbay = 2015....
...



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

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


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

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

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

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

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

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

)))
Ну зачем же ж так сразу.
На ум приходит только execute statement внутри execute block, формируемый динамически в момент выполнения прожки.
Надеялся, что может есть решение поизящнее.
Или это тоже не решает проблемы?
...
Рейтинг: 0 / 0
Выборка динамически из одного поля в несколько колонок
    #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
Выборка динамически из одного поля в несколько колонок
    #40114272
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гуманоид
На ум приходит только execute statement внутри execute block, формируемый динамически в момент выполнения прожки.
Надеялся, что может есть решение поизящнее.
Или это тоже не решает проблемы?
на кой черт ещё и каскадную проктологию к этому подключать?
формируй запрос на клиенте динамически.
...
Рейтинг: 0 / 0
Выборка динамически из одного поля в несколько колонок
    #40114274
гуманоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Ну это просто динамическое добавление колонок в Грид, а сама выборка для поставки данных в эти колонки?
Это я и имел в виду под программным формированием SQL запроса в ДатаСете и последующим динамическим формированием колонок самого грида.
Но, это несколько громоздким выглядит.
Ну раз нету другого пути, то пойду искать стену, об которую убиваться )))
Всем спасибо за участие.
...
Рейтинг: 0 / 0
Выборка динамически из одного поля в несколько колонок
    #40114278
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гуманоида сама выборка для поставки данных в эти колонки?

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


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

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

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

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

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

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

ъъъъъ

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


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