Связь один ко многим без SQL
Связь один ко многим без SQL
Здравствуйте! Есть возможность создать связь между двумя таблицами типа "один-ко-многим" без использования SQL, чтобы вывести данные множества дочерних таблиц в DataBand как на скриншоте? По текущим настройкам в таблицу выводится одна какая-то случайная запись из множества, хотя в базе данных их несколько. Прикладываю скриншоты шаблона отчета и результата работы
- Вложения
-
- Общий вид шаблона.png (470.21 КБ) 4389 просмотров
-
- Настройки связи.png (397.08 КБ) 4389 просмотров
-
- Результат в предпросмотре.png (58.38 КБ) 4389 просмотров
Re: Связь один ко многим без SQL
Здравствуйте,
Без примера с тестовыми данными что-то сказать сложно.
Также, попробуйте задать PrintIfDetailEmpty свойство для главного бэнда.
Спасибо.
Без примера с тестовыми данными что-то сказать сложно.
Также, попробуйте задать PrintIfDetailEmpty свойство для главного бэнда.
Спасибо.
Re: Связь один ко многим без SQL
Здравствуйте,
А также, посмотрите как создаются отчеты со связями
https://www.stimulsoft.com/en/documenta ... report.htm
Спасибо.
А также, посмотрите как создаются отчеты со связями
https://www.stimulsoft.com/en/documenta ... report.htm
Спасибо.
Re: Связь один ко многим без SQL
Здравствуйте, подготовил пример отчета и тестовые данные в JSON формате.
Предположим, что в БД есть 2 таблицы: job и person. У person есть ссылка на job в качестве вторичного ключа. Допустим, в select запросе для job я выделил нужную мне запись и она там одна. Запрашиваю я её с помощью параметра, поэтому в зависимости от разных обстоятельств ищется какая-то запись из таблицы job. В select запросе person я запрашиваю все элементы из БД и делаю связь между двумя таблицами. Я создаю DataBand и ожидаю, что у меня будут выведены все записи person, относящиеся к конкретной записи job, исключая ненужные. В тестовых данных есть 3 записи с ссылкой на имеющуюся запись job, остальные 2 записи имеют произвольный вторичный ключ.
Если вывести на предпросмотр данный шаблон, то выводится первая запись из набора записей person, которая связана с моей записью job.
Данная идея связана с тем, что есть необходимость делать похожие отчеты практически без написания sql запросов с присоединением таблиц. В данном примере единственный sql запрос будет для таблицы job с поиском конкретной записи по id. Надеялись, что можно обойтись встроенными инструментами Stimulsoft.
Предположим, что в БД есть 2 таблицы: job и person. У person есть ссылка на job в качестве вторичного ключа. Допустим, в select запросе для job я выделил нужную мне запись и она там одна. Запрашиваю я её с помощью параметра, поэтому в зависимости от разных обстоятельств ищется какая-то запись из таблицы job. В select запросе person я запрашиваю все элементы из БД и делаю связь между двумя таблицами. Я создаю DataBand и ожидаю, что у меня будут выведены все записи person, относящиеся к конкретной записи job, исключая ненужные. В тестовых данных есть 3 записи с ссылкой на имеющуюся запись job, остальные 2 записи имеют произвольный вторичный ключ.
Если вывести на предпросмотр данный шаблон, то выводится первая запись из набора записей person, которая связана с моей записью job.
Данная идея связана с тем, что есть необходимость делать похожие отчеты практически без написания sql запросов с присоединением таблиц. В данном примере единственный sql запрос будет для таблицы job с поиском конкретной записи по id. Надеялись, что можно обойтись встроенными инструментами Stimulsoft.
- Вложения
-
- Пример отчета.mrt
- (1.79 МБ) 15 скачиваний
-
- Data.json
- (649 байт) 19 скачиваний
Re: Связь один ко многим без SQL
Здравствуйте,
Для "расскручивания" данных на странице отчета используются бэнды.
В вашем отчете только один databand с ссылкой на исчтоник job, в котором только одна запись.
Необходимо добавить второй бэнд с ссылкой на второй источник.
Спасибо.
Для "расскручивания" данных на странице отчета используются бэнды.
В вашем отчете только один databand с ссылкой на исчтоник job, в котором только одна запись.
Необходимо добавить второй бэнд с ссылкой на второй источник.
Спасибо.
- Вложения
-
- Пример отчета.mrt
- (1.8 МБ) 14 скачиваний
-
- Screenshot 2025-02-17 195029.png (146.15 КБ) 243 просмотра
Re: Связь один ко многим без SQL
Всё, понятно. Спасибо большое!
Re: Связь один ко многим без SQL
Здравствуйте,
Пожалуйста.
Пожалуйста.