【发布时间】:2016-05-04 07:17:55
【问题描述】:
情况是这样的,
我有一个带有下拉菜单(全部、类别、类别类型、产品)和搜索按钮的界面。每个部分有三个数据库表,分别为 CATEGORY、CATEGORYTYPE 和 PRODUCT
当用户选择 All 选项搜索时,我会从所有三个表中获取结果并显示在 HTML 表中。
要进行分页,我想从所有表中逐组获取结果。
这是我正在使用的三个查询:
SELECT CATNAME,CATDESC,CATSTATUS FROM CATEGORY WHERE CATNAME like %a%
SELECT CATTYPENAME,CATTYPEDESC,CATTYPESTATUS FROM CATEGORYTYPE WHERE CATTYPENAME like %a%
SELECT PRODUCTNAME,PRODUCTDESC,PRODUCTSTATUS FROM PRODUCT WHERE PRODUCTNAME like %a%
从所有表中,我只获取想要组合三个查询的同一组列。我希望我的问题是可以理解的。这与连接三个表无关。我希望所有三个查询的结果作为一个集合或记录并对其进行分页。
提前感谢您的任何建议,如果问题不清楚,请提出。
该应用程序基于 JAVA EE。使用 Struts,DB 是 MySQL。
【问题讨论】:
-
您可以在 MySQL 中创建一个视图,使用 union 来合并三个表中的数据。如果我正确理解了这个问题。
-
@esranga:你的意思是我在那些表中输入数据的时候?或者有时我会这样做?
-
当用户选择“全部”时,您使用视图获取数据。
-
我应该什么时候生成视图?
-
创建视图的方式与创建表的方式相同。见:dev.mysql.com/doc/refman/5.7/en/create-view.html