Генерация дублирующих ответов в запросе MySQL SELECT - PullRequest
3 голосов
/ 04 сентября 2010

Я использую функцию написания отчетов в приложении для создания этикеток со штрих-кодом.

Система написания отчетов позволяет мне использовать оператор MySQL SELECT, чтобы получить необходимую информацию из нашей базы данных и представить ее в файл JXper Reports JRXML, который форматирует отчет.

Это прекрасно работает, если я хочу создать одну этикетку со штрих-кодом для каждого продукта, возвращенного из базы данных моим оператором SELECT. Однако я хочу изготовить пятьдесят копий каждого ярлыка продукта.

Достаточно просто, если бы у меня был доступ к коду, но все, что я могу изменить, - это оператор SQL.

Может кто-нибудь предложить способ, с помощью которого я могу получить оператор MySQL SELECT, который будет возвращать 50 идентичных результатов для каждой записи, найденной в таблице продуктов?

Спасибо за любую помощь.

Ответы [ 3 ]

1 голос
/ 19 ноября 2010

Перекрестное объединение таблицы «на лету» с ненужной информацией, содержащей столько строк, сколько необходимо дубликатов.

SELECT t.* 
FROM table t 
JOIN (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) dud 
WHERE t.field = 'condition'

В этом случае я получаю 5 дубликатов каждой подходящей строки в table.

Это не красиво, но работает и не требует создания реальной таблицы.

1 голос
/ 04 сентября 2010

У меня просто некрасивое решение, при условии, что вы можете изменить схему: создайте фиктивную таблицу, содержащую 50 записей, и присоедините ее к своим запросам sql следующим образом: выберите * из продуктов, dummyWith50Records

Я почтиСтыдно писать что-то подобное, но это должно сработать ... Надеюсь, у кого-то есть лучшее решение.

0 голосов
/ 05 декабря 2010

Я могу понять вашу проблему ... Но для меня было бы более полезно привести пример ...

Я думаю, что я делал то же самое в одном из моих приложений

...