Добавление дополнительных строк в mysql select resultset для соответствия определенному количеству строк [duplicate]

Как насчет этого:

def text_cleanup(text):
    new = ""
    for i in text:
        if i not in " ?.!/;:":
            new += i
    return new
1
задан Alex K 19 December 2012 в 09:10
поделиться

3 ответа

Ограничьте результат вашего запроса до 6, затем сделайте обычное, поместите поля в полосу детали

. Затем в сводке создайте три строки полей.

   1 |    ||    ||    ||    |
   2 |    ||    ||    ||    |
   3 |    ||    ||    ||    |

В Print When Expression всех полей в первой строке

new Boolean($V{REPORT_COUNT}.intValue() == 3 || $V{REPORT_COUNT}.intValue() == 4 || $V{REPORT_COUNT}.intValue() == 5)

В Print When Expression всех полей во второй строке

new Boolean($V{REPORT_COUNT}.intValue() == 3 || $V{REPORT_COUNT}.intValue() == 4)

В Print When Expression всех полей третьей строки

new Boolean($V{REPORT_COUNT}.intValue() == 3)

Положение первой строки полей должно быть в верхней части суммарного диапазона, чтобы поля выглядели так, как если бы они были частью раздела сведений.

0
ответ дан Bnrdo 25 August 2018 в 16:41
поделиться

Лучший способ, я могу думать, чтобы сделать это, чтобы ваш запрос возвращал 6 строк (или ваш набор строк), тогда нет необходимости в яшме делать что-то необычное.

Вот пример того, как вы можете сделать это с помощью oracle 10 или выше - я уверен, что есть лучший способ сделать это.

with gen_6
-- creates a table of 6 rows (generate series)
as (SELECT LEVEL as row_num
FROM dual
CONNECT BY LEVEL <= 6),

Your_Query as

[f1]

select *
from gen_6 left join your_query using (row_num)
order by row_num

FYI

Вам даже не нужно добавлять «поле» row_num в ваш отчет, чтобы это работало.

2
ответ дан Mike Noland 25 August 2018 в 16:41
поделиться

Самый простой способ: вам просто нужно включить N текстовых полей в подробный диапазон, чтобы дублировать количество записей из источника данных или жесткого кода. Необходимый номер.

Пример:

Detail Band
----------------
| FIELD_X
| FIELD_X
----------------

В этом случае вы получите 3 записи из БД и напечатаете 6 значений.

Еще один вариант: создайте два подзаголовка с необходимыми правилами и включите их на страницу сведений, а затем другую line.

Пример:

Detail Band
----------------
| SUBREPORT_1
| SUBREPORT_2
----------------

В этом случае вы получите 3 записи из БД и напечатаете 3 значения в каждом субрепорте, поэтому во втором вложенном отчете вы можете оставить строки в пробеле или в любом другом правиле.

Бизнес-пример: этот подход может использоваться для финансовых интерфейсов, где разные учетные записи должны быть назначены для определенного кредита или дебетования.

0
ответ дан Rafael Gorski 25 August 2018 в 16:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: