在MySQL SELECT查询中生成重复的响应

时间:2010-09-03 21:44:29

标签: mysql select duplicates

我在应用程序中使用报表编写功能来生成条形码产品标签。

报告编写系统允许我使用MySQL SELECT语句从我们的数据库中获取所需的信息,并将其呈现给格式化报告的Jasper Reports JRXML文件。

如果我想为SELECT语句从数据库返回的每个产品生成一个条形码标签,这样可以正常工作。但是我想要生产每个产品标签的五十个副本。

如果我有权访问代码就足够了,但我可以更改的是SQL语句。

有人能建议一种方法,我可以获得一个MySQL SELECT语句,为在products表中找到的每条记录返回50个相同的结果吗?

感谢您的帮助。

3 个答案:

答案 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)

我能够理解你的问题......但是对我来说这会更有帮助......

我想我在我的一个应用程序中做了同样的事情