数据库多表查询分页问题

一张图片表和一张图书表,一本图书对应多张图片,我在两个表连接查询的时候,假设
一个图书对应3张图片,则就会出查询出3条记录,但在分页的时候就会出现问题,limit 0,1
,就只显示一条记录,但我是想得到一条记录,其中包含3张图片,该怎么解决

0

3个回答

1

在实际用用中,如果程序逻辑需要的数据不在同一个数据表中或者视图中,我们就需要多表查询。
(1)内连接
使用比较运算符对各个表内的数据进行比较操作,列出符合条件的表的各列。关键字为inner join 或者 join
内连接又分为等值连接 非等值连接、自然连接。
(2)外连接
当数据表中的一些行在其他表中不存在匹配行时,内连接查询会忽略原表中满足要求的行。外连接则至少返回一个from后连接......
答案就在这里:数据库中的多表查询问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

0
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
tp3.2.3 数据库多表查询实现分页
-
多表查询后的分页问题
分页部分程序代码:rn<%rn int countRecord, countPageRecord = 10, currentRecord, p = 0;rn String pages = request.getParameter("dipage");rn //设定Bean的属性rn [color=#FF0000] rs.last();[/color]rn countRecord = rs.getRow(); //得到记录的条数rn datapagebean.setAll(countRecord, countPageRecord);rn if (pages != null) rn try rn datapagebean.setCurrentPage(Integer.parseInt(pages));rn rn catch (Exception e) rn out.println("参数不正确!");rn rn rn //当前记录号rn currentRecord = (datapagebean.getCurrentPage() - 1)*datapagebean.getSizePage();rn if (currentRecord == 0)rn rs.beforeFirst();rn else rn rs.absolute(currentRecord);rn rnrnpublic ResultSet executeQuery1(String sql) //查询记录rn try rn conn = DriverManager.getConnection(sConnStr,user,password);rn stmt = conn.createStatement();rn rs = stmt.executeQuery(sql);rn rn catch (SQLException ex) rn System.err.println("DBConnBean.executeQuery:" + ex.getMessage());rn rn return rs;rn rn从三个表中取出数据,得到数据集,分页代码如上,rn[color=#FF0000]错误提示:[/color]rn严重: Servlet.service() for servlet debugjsp threw exceptionrnjava.sql.SQLException: Result set type is TYPE_FORWARD_ONLY
多表查询分页问题?
select top 12 A.AF_ID, A.AF_TYPE, A.AF_NAME,A.AF_CREATETIME,S.AS_PERSON from NY_AFFICHE A , NY_AFFICHESECURITY S where (A.AF_ID not in(SELECT TOP 14 A.AF_ID FROM NY_AFFICHE A where A.AF_PUBLISHSTATE = 1 AND S.AS_PERSON = '测试' A.AF_ID = S.AF_ID ORDER BY A.AF_ID desc)) ORDER BY A.AF_ID desc rnrnrn两个表,NY_AFFICHE 和 NY_AFFICHESECURITY 都有一列叫AF_IDrn查询时出现错误列前缀 'A' 与查询中所用的表名或别名不匹配rnrn这是怎么回事?rnrn有什么好的 多表分页方法吗
MvcPager多表查询分页问题
MvcPager 要实现多表查询好象只有这种方法rnrn[url=http://bbs.csdn.net/topics/390291915?page=1]http://bbs.csdn.net/topics/390291915?page=1[/url]rnrn[color=#FF0000]但具体不知道这个强类型实体类要怎么创建号和怎么把linq查询的数据传过来[/color]
数据库多表查询问题
我现在有两个表,table1,table2rntable1有两个字段rnUID Namerntable2有很多字段rnID UID ..等rn现在我要查询table2的记录并且显示UID对应的namern请问要怎么查询呢?rnrn
数据库多表查询的效率问题
要用JAVA做一个试卷答题结果的统计,需要查询问卷答题人的信息,我想到两种方式,第一种是连表查询rnselect 试卷参与人.*,人员账号.姓名,部门.名称 from 试卷参与人,人员账号,部门 where 试卷参与人.人员账号编号=人员账号.编号 and 人员账号.部门编号=部门.编号rn第二种是先查询出问卷参与人,然后再根据问卷参与人的人员账号编号从人员账号表中查询出人员姓名赋值给那个参与人对象,同样再查一次部门表把部门名称给参与人对象
【请教】数据库多表查询的问题。
有两个表rnpur_pra,pur_sellerrnpur_pra里面有一条数据,pur_seller里面没有数据。rnrn我想从pur_pra里面取出一条记录,然后根据记录的s_No字段,从pur_seller表内提出相应资料,请问这条查询语句不是这样写吗?rnSELECT a.*,b.linker,b.linker_tels,b.faxs,b.s_name from pur_pra a,pur_seller b Where a.FID=1 and a.s_no=b.s_no rn但我这样查不到任何记录,rnrn而用rnSELECT a.*,b.linker,b.linker_tels,b.faxs,b.s_name from pur_pra a,pur_seller b Where a.FID=1 rn则会得到两条记录。。rnrn如果从a表内取出记录s_No字段的值在b表内存在,前一条语句就会返回正确结果。rnrn请问在从a表内取出记录s_No字段的值在b表里面没有的时候,怎样可以使得返回结果还是有从a表里面按条件“a.FID=1”查出的数据?其他要从b表里面的取出的数据留空。rnrn是否可以用一条查询语句做到?程序要求返回结果同在一个Recordset里面rnrn谢谢!!
求助数据库多表查询问题
我的数据库表设计为图一这样[quote][img=https://img-bbs.csdn.net/upload/201604/06/1459934102_517822.png][/img][/quote]rn想查询的情况是:客户端会提交一个ibeacon表中的address(这个值在表中是唯一的)和个人用户表中的id,我要根据ibeacon中的address首先找到其ibeacon_id,然后根据ibeacon_id在ibeacon_in_group表中找到一个或若干个group_id,然后根据跟group_id在营销信息表中找到对应的营销信息。然后麻烦来了,由于找出的营销信息是有一定的推送规则的,也就是这条营销信息应该符合该用户的身份,具体规则是性别,年龄,社会层级和最大推送数都要合适。rn只有50分可以给了
数据库中的多表查询问题
在实际用用中,如果程序逻辑需要的数据不在同一个数据表中或者视图中,我们就需要多表查询。 (1)内连接 使用比较运算符对各个表内的数据进行比较操作,列出符合条件的表的各列。关键字为inner join 或者 join 内连接又分为等值连接 非等值连接、自然连接。 (2)外连接 当数据表中的一些行在其他表中不存在匹配行时,内连接查询会忽略原表中满足要求的行。外连接则至少返回一个from后连接
数据库多表查询的问题
首先有3个表: rn1、student表,字段sno,sname,sex,height rn2、coures表,字段cno,cname,credit(学分?) rn3、sc表,字段sno,cno,grade(得分?) rnrn问题: rn1、查询每个学生的平均成绩 rn2、给出所有超过5个学生选的课程 rn3、按总平均值降序给出所有课程均及格但不包括课程代号为C8的所有学生总平均值rnrnrn谢谢
一个数据库多表查询的问题.....
有三个表 doc表 categorie表 和categorielink 表rn三表数据如下 rndoc rn did title contentrn 1 这是新闻 这是新闻内容rncategoriernrn cid pid namern 1 0 山东省rn 2 1 菏泽市rn 3 2 曹县rncategorielinkrnrndid id cidrn1 1 0rn1 2 1rn1 3 2rnrnrn比如有一条id为1的新闻,我想通过doc.did 来确定 这条新闻属于哪个地方的,但是 地方一定都要显示出来 在这里应该显示为rndid title content namernrn其中name 包括 山东省 菏泽市 曹县
数据库多表查询,绑定的问题!
各位大侠!我现在用access,有两个表:rnpart(域:id mid uid pname)id自动编号,mid整数,uid与user表中uid相关联,pname字符串rnuser(域:uid name)uid自动编号rnrn我想先查处part中uid=2的记录,找到uid,在user中将name值显示出来!rn在access中用select * from user where uid in (select uid from part where mid=2)可以查处!rn但我在asp.net中却抱错!rnrnstring strdb = @"Provider=MicroSoft.Jet.OleDb.4.0;Data Source=e:\user.mdb;";rnOleDbConnection conn=new OleDbConnection(strdb);rnconn.Open();rnstring cmdstring2 = "select * from user where uid in (select uid from part where mid=2";rnOleDbDataAdapter cmd2 = new OleDbDataAdapter(cmdstring2, conn);rnDataSet uds = new DataSet();rncmd2.Fill(uds, "ulist");rnulist.DataSource = uds.Tables["ulist"].DefaultView;rnulist.DataBind();rnrn如果我作简单查询string cmdstring2 = "select * from part where eid=2" 就没有我问题!请问如何做这类多表便和查询的问题!rn另外我用去他方法如:string cmdstring2 = "select b.name,b.uid from part a inner join user b on a.uid= b.uid where a.mid= 2";rnstring cmdstring2 = "select * from part,user where part.uid=user.uid and mid=2";rn都不行,但在access中查询都正常!
MSQL数据库多表查询问题
时这样的,我要做权限管理,要分模块,但是这个要多表查询,我在数据库写了好久都没写出查询语句出来,请大侠帮忙rn=================================================================================================================rn现有5张表,rn用户表sub(id,name,pass,role_id)role_id为角色idrn角色表role_table(role_id,name)rn模块表module(md_id,md_name)md_id为模块名称rn功能表auy(auy_id,md_id,auy_name,auy_url)auy_id为功能id,auy_url为功能路径rn角色功能关联表role_auy(role_id,auy_id)rn=================================================================================================================rn现在知道角色id,通过角色id查找相应的功能,然后显示着相应的模块下面,如果直接把所有的功能一次查询出来,我就已经弄好了,但是经理让我把功能放在相应的模块下面,希望各位大侠,告诉我怎样查询的思路,让我不再纠结,谢谢大家
分页存储过程,多表查询,出问题了?
create procedure procSelectAllProductPager rn(@pageSize int,rn@pageIndex int,rn@dataState bit)rnasrnrnif(@dataState=1)rnselect count(*) from Productrnelsernbeginrn with tempTable as (rnSELECT ROW_NUMBER() OVER (ORDER BY productId desc)AS Row, O.productTypeId,(select productTypeName from ProductType where productTypeId=0.productTypeId) as productTypeName,O.productId,O.productName,O.productIntroduce,O.productRemark,O.productMarketPrice,O.productMemberPrice,O.productImg,O.productHitCount,O.productBuyCount,O.productRecommend,O.productRecommendDate,O.productAddDate,O.productLastEditDate from Product O )rnrn SELECT * FROM tempTable where Row between (@pageIndex-1)*@pageSize+1 and (@pageIndex-1)*@pageSize+@pageSizernendrnrnrnrn提示:productTypeId附近有语法错误。找不出来!rnrn谢谢!
orcale多表查询(分页)
现在有三个表:rn单位信息表A(单位内码,单位外码,单位名称);rn项目信息表B(项目内码,项目外码,项目名称);rn项目挂接信息表C(单位内码,项目内码)。rnrn现在用户只能从页面通过单位外码或者单位名称经行模糊查询出项目挂接信息,要求以每页显示10条单位外码、名称、项目外码、名称等信息。rnrn我现在的方法就是通过用户输入的信息模糊查询出所有单位,然后循环查出和单位有挂接的所有项目内码,然后再循环查出项目的相关信息。rnrn虽然结果是出来了,但是这样的速度非常慢。本人对ORCALE的操作也是涉入不是很多,所以在这里请求帮助,怎么来优化一下,谢谢!(差点忘记了,不能用存储过程,需求单位不让。)
jsp多表查询分页
多表查询出来的数据怎么分页最好
Phalcon多表查询带分页
* 本文讨论的是Phalcon多表查询带分页的方法,需要返回总数,每页数据数,总页数等数据,便于前端显示; * 方法1中(1)的本质是先进行全表查询,再分页,即使不分页,也比方法2(PHQL查询)慢很多; *  所以大数据量的时候建议使用方法2(PHQL);   1、通过面向对象的方式来创建查询 (1) public static function getList($stat = '...
多表查询的分页存储过程?
那位大哥有多表查询的分页存储过程 给点代码 例子 谢过了。。。。急用哦!
千万数据多表查询分页
我是一个学生,现在我要做一个千万数据多表查询的习题。rn想了好久都没有想出什么好的解决方案。rn哪位大哥能帮助下,大家互相学习。rn[code=SQL]rn表1[Table1]rn字段:rn [id] [int] IDENTITY(1,1) NOT NULL,rn [k] [varchar](50) NOT NULL,rn [d] [datetime] NOT NULLrnrn表2[Table2]rn字段:rn [id] [int] IDENTITY(1,1) NOT NULL,rn [t3_Id] [int] NOT NULL,rn [t1_Id] [int] NOT NULL,rn [date] [datetime] NOT NULLrnrn表3[Table3]rn [id] [int] IDENTITY(1,1) NOT NULL,rn [title] [varchar](50) NOT NULL,rn [conten] [varchar](50) NOT NULL,rn [date] [datetime] NOT NULLrnrn表1存放的是关键字,表3存放的是文章,表2存放的是文章中包含的关键字rnrn根据关键字查询rndeclare @t1_Id int;rnSelect @t1_Id = id from Table1 where k = 'test1'rnSelect t3.title,t3.conten from Table2 t2,Table3 t3 where t2.t1_Id = @kt_Id and t3.id = t2.t3_Idrn[/code]rn假如我这个数据库中有一千多万以上的数据量,我需要根据关键字快速查询,并且分页。rn请问如何查询和分页效率。
高手请进,多表查询分页
“select * from 表1 union select * from 表2 union select * from 表3 order by CreateDate desc”这条语句是查询3张表的数据的,请问获取这条语句的前10条数据的sql语句要怎么写啊?或者某位高手有更好的办法实现该功能也可以,我给您鞠躬叩首了,谢谢了!
高效的SQLSERVER多表查询分页
多表关联查询 select w2.n,w1.* from ( select fpr.flag AS reportflag,fpr.id AS reportid,fpr.userid,fpl.* from ndb_fp_report fpr left outer join ndb_fp_log fpl on fpl.id=fpr.fpid ) w1,( select top 2...
mybatis分页多表查询
mybatis分页多表查询 我们常遇到一种情况,数据量比较大,如果使用前台分页,在前台如果有权限,有逻辑判断,都会大大降低页面加载的速度,我们需要分页,单表查询的网上方法很多,这里就不赘余了,多表关联查询的分页需求很多,但是后台插件能够分页的,Page,PageHelper都是只支持单表的,多表关联,数据会错乱,造成很多空数据,小编研究了一下,写了一个多表关联查询的分页方法,抛砖引玉。 第一步
数据库的多表查询
多表的数据操作 表之间的关系 一对多(多对一) 在多的一方加入一的一方的外键。在多的一方加入一的一方的外键。 多对多 通过一个中间表将两个表之间建立关系。 一对一 在所谓的子表中加入所谓主表的外键,并加上唯一性约束。 创建关联表 关联表的查询 使用 WHERE 条件将两个表之间进行关联查询 – 查询学员的学号、姓名、所在班级名称 SELECT s.clazz_id,s.code,s...
数据库多表查询
内连接:只显示两表同时符合条件的行 外连接:连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。 左外连接:左边表数据行全部保留,右边表保留符合连接 条件的行。 右外连接:右边表数据行全部保留,左边表保留符合连接条件的行。 全外连接:左外连接 union 右外连接。   多表查询——内连接查询:   多表查询——左(外)连接: ...
数据库 多表查询
针对数据库单表查询的三张表进行查询: //查询未选课的学生情况包含学生学号、姓名和所在系; select Student.Sno 学号,Sname 姓名,Sdept 系,Cno 课程号 from Student left outer join SC on(Student.Sno=SC.Sno) where cno is null; //查询已选课学生的选课情况包...
多表查询数据库
在项目中创建数据库的时候,我们经常会进行多表查询。数据库中创建一个表应该与一个实体类相对应。一个实体对象应该与一条记录相对应。  数据库是一种结构化的查询语言,数据库语言是非过程化的,写一句就可以执行一句。进行建表的时候,如果是一对多的关系,应该在多的一方建立一个字段。 该字段为少的一方的id。进行建表的时候如果是多对多的关系,要创建一个第三中表,中间表至少需要两个字段作为外键。 使
数据库之多表查询
--查询含有下划线的: SQL> select last_name FROM employees WHERE last_name LIKE  '%\_%' ESCAPE '\'; select  last_name || '赚了' || to_char(salary, 'L999,999.999') || '但是他想赚' || to_char(salary * 2.5, 'L999
数据库刷新问题(多表查询的视图)
一个表插入一条记录,如何在dbgrid中只显示刚插入的记录(dbgrid中的记录是一个多表查询出来的视图).
最新上架分页时-多表查询问题--笔记
– 图书分类表 desc t_booktype; +——–+———+——+—–+———+——-+ | Field | Type | Null | Key | Default | Extra | +——–+———+——+—–+———+——-+ | bookid | int(11) | NO | PRI | NULL | | | typeid | int(1...
请教ibatis 同类型的多表查询分页问题
如题所述,我已经把查询语句功能减到最低了,现在我在查询一个统计表daystat_200803,此表每月增加一个,作为月记录表,命名规则大家都能看出来,每月生成一张表,如果我想查询2009年到2011年的记录,也就是说我应该查询24张表,并且加分页,高手们,有谁写过 多个同类型的表查询结果叠加并且加分页的语句,请指教,在下感激不尽!
PageHelpher、MyBatis关联查询,多表查询分页问题
一般MyBatis作为ORM框架,需要做分页一般会选择使用PageHelper。PageHelper非常强大的分页插件,和mybatis整合也非常方便。PageHelper对单表分页或者整体结果集分页是比较方便的。 不过有时我们会遇到这样的问题。利用MyBatis做多表的关联查询,分页的对象不是所有结果集,而是对其中一张表分页,然后再关联其他表的数据,如果直接使用PageHelper进行
请教一个数据库多表查询的问题。
我有三个表,rn表1中有订货流ID(主键),货物名称ID,订货人ID,订货时间。rn表2中有货物名称ID(主键),货物名称,货物型号。rn表3中有订货人id(主键),订货人姓名,rnrn现在我要按订货时间查询出每一条订货流的信息,包括订货流ID,货物名称,货物型号,订货人姓名.rn我先在的查询语句是rnselect 订货流ID,货物名称,货物型号,订货人姓名 rnfrom 表1,表2,表3 rnwhere 表1.货物名称ID=表2.货物名称ID and 表1.订货人ID=表3.订货人id rnand 表1.订货时间>=toDate('2010-09-01 00:00:00', 'yyyy-mm-dd hh24:mm:ss') rnand 表1.订货时间<=toDate('2010-09-01 00:00:00', 'yyyy-mm-dd hh24:mm:ss')rnrn出现的问题是表1中的记录不能全部查询出来,原因是,表1 中有的货物名称ID,或者是订货人ID在表2或者表3中没有。rnrn我想实现在查询的时候,表1中的记录只要满足时间段的都显示出来,如果表1中的货物名称ID在表2中能找到对应的货物名称就显示货物名称,没有就让货物名称为空,表3中的订货人姓名也一样。该怎样实现?
数据库多表查询问题,请教高手~~
比如说我想查询一下物品A的信息。而A物品在我的数据库表里占用四个表。rn 数据库名eilian;表goods中存放MatId(物品ID),MatQty(数量),MatHouseId(库房id)五个键值,表goodsname中存放MatId,MatName,MatUnitId(计量单位ID),MatSortId(物品类别ID)四个键值,表goodsunit中存放MatUnitId极其此UnitId对应的UnitName(计量单位,如“千克”),表goodssort中存放MatSortId和MatSortName(物品类别名称)。rn例如我的表的结构是这样的:rngoods:rn MatId MatQty MatHouseIdrn 1 30 2rn 2 23 1rn 3 34 2rn 4 40 1rngoodsname:rn MatId MatName MatUnitId MatSortIdrn 1 香肠 1 1 rn 2 火腿 2 1rn 3 橘子 2 2rn 4 水蜜桃 1 2rngoodsunit:rn MatUnitId UnitNamern 1 吨rn 2 千克rngoodssort:rn MatSortId MatSortNamern 1 食物rn 2 水果rn rn那么,我想实现一个查询,比如说查询1号库的东西,查询结果能按照如下显示:rn MatId MatName MatQty MatUnitName MatSortName rn 2 火腿 34 千克 食物 rn 4 水蜜桃 40 吨 水果 rnrnrn 请高手指教,万分感谢!!!rn
奇怪??数据库多表查询及更新的问题??
一个关于数据库多表查询及更新的问题,为了说清楚,我用 Access 做了个小例子: 数据库中有三个表和一个查询。rnrn 三个表是:“教师表”、“课程表”、“教师所带课程表”。 “教师表”有“教师编号”、“教师姓名”两个字段;“课程表”有“课程编号”、“课程名称”两个字段;“教师所带课程表”有一个“自动编号”的主键字段,以及“教师编号”、“课程编号”共三个字段。“教师表”和“课程表”是多对多的关系,通过“教师所带课程表”(这就是个连接表)来实现这个多对多关系的。rnrn 还有一个查询:“教师所带课程查询”。这个查询是用来给客户看的,让客户知道哪些老师带了哪些课。查询所对应的sql语句是:rn SELECT 教师表.*, 课程表.*rn FROM 课程表 INNER JOIN (教师表 INNER JOIN 教师所带课程表 ON 教师表.教师编号 = 教师所带课程表.教师编号) ON 课程表.课程编号 = 教师所带课程表.课程编号;rnrn 我在数据库中定义了三张表的关系,并且选择了实施参照完整性、级联更新相关字段、级联删除相关字段。rnrn 现在的问题是:比如运行了这个查询后,其中有一条记录:“编号为2的老师带了一门编号为5的课程”。如果我在查询结果中删除这个纪录,在 Access 中就只删除了“教师所带课程表”的对应纪录,这个结果是对的! 但是 我在 BCB 中用数据组件(TADOConnection、TADOTable、TDBGrid、TDBNavigator)进行这个操作时,结果竟然把“教师表”中“编号为2的老师”的纪录,以及“课程表”中“编号为5的课程”也同时给删除了!!这个显然是不对的! 这是怎么回事呀??
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合