我在应用程序中使用报表编写功能来生成条形码产品标签。
报告编写系统允许我使用MySQL SELECT语句从我们的数据库中获取所需的信息,并将其呈现给格式化报告的Jasper Reports JRXML文件。
如果我想为SELECT语句从数据库返回的每个产品生成一个条形码标签,这样可以正常工作。但是我想要生产每个产品标签的五十个副本。
如果我有权访问代码就足够了,但我可以更改的是SQL语句。
有人能建议一种方法,我可以获得一个MySQL SELECT语句,为在products表中找到的每条记录返回50个相同的结果吗?
感谢您的帮助。
答案 0 :(得分:1)
我只是有一个丑陋的解决方案,假设您可以修改架构:创建一个包含50条记录的虚拟表并将其加入您的SQL查询中,如下所示:select * from products,dummyWith50Records
我写这样的东西几乎是可耻的,但它应该有用......希望有人有更好的解决方案。
答案 1 :(得分:1)
针对dud信息的动态表进行交叉连接,其中包含您想要重复的行数。
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'
在这种情况下,我会在table
中获得每个符合条件的行的5个副本。
它不漂亮,但它有效,并且不需要创建真正的表。
答案 2 :(得分:0)
我能够理解你的问题......但是对我来说这会更有帮助......
我想我在我的一个应用程序中做了同样的事情