如何用 子查询改写 union all
2个回答
推荐于2016-01-29
展开全部
你在用union的时候为两个表中的字段指定为同一个别名,在JSP中调用那个别名就可以了。
rs = stmt.executeQuery("SELECT data FROM dj union select num as data from file");
这样为num制定了别名data
在调用的时候只要
<%= rs.getString("data") %>
就可以把两个表的数据调出来了
另外如果两个表含有相同数据,用union会排除重复项的,如果你不想排除,把union 改为union all
rs = stmt.executeQuery("SELECT data FROM dj union select num as data from file");
这样为num制定了别名data
在调用的时候只要
<%= rs.getString("data") %>
就可以把两个表的数据调出来了
另外如果两个表含有相同数据,用union会排除重复项的,如果你不想排除,把union 改为union all
展开全部
union all中使用order by子查询时需将含order by的子查询包在一个不含order by的查询里再进行union all。
否则会报“Incorrect usage of UNION and ORDER BY”
例如:
1.错误用法:
select id from test1 order by id
union all
select id from test2 order by id
2.正确用法:
select * from (select id from test1 order by id) t1
union all
select * from (select id from test2 order by id) t2
否则会报“Incorrect usage of UNION and ORDER BY”
例如:
1.错误用法:
select id from test1 order by id
union all
select id from test2 order by id
2.正确用法:
select * from (select id from test1 order by id) t1
union all
select * from (select id from test2 order by id) t2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询