日期:2014-05-16  浏览次数:20461 次

通过union实现数据库查询多表分页查询
sql.append("select obj.objid,");
sql.append("       obj.objname,");
sql.append("       obj.objtype,");
sql.append("       ep.pic_id,");
sql.append("       ep.pic_dir,");
sql.append("       ep.s_file,");
sql.append("       ep.m_file,");
sql.append("       ep.l_file,");
sql.append("       ep.type,");
sql.append("       ep.state,");
sql.append("       ep.create_time");
sql.append("  from ecom_pictures ep,");
sql.append("       (select ec.company_id as objid,");
sql.append("               ec.name as objname,");
sql.append("               ec.pic_id as pic_id,");
sql.append("               'COMPANY' as objtype");
sql.append("          from ecom_company ec");
sql.append("        union");
sql.append("        select eg.goods_id as ojbid,");
sql.append("               eg.name as objname,");
sql.append("               eg.pic_id as pic_id,");
sql.append("               'GOODS' as objtype");
sql.append("          from ecom_goods eg");
sql.append("        union");
sql.append("        select eu.user_id as objid,");
sql.append("               eu.name as objname,");
sql.append("               eu.pic_id as pic_id,");
sql.append("               'USER' as objtype");
sql.append("          from ecom_user eu) obj");
sql.append(" where obj.pic_id = ep.pic_id");

通过union对四个表做的联合查询。分页则可以再加上分页条件。