重复从数据库表里获取数据只能一直left join吗? [问题点数:20分]

Bbs1
本版专家分:0
结帖率 0%
Bbs2
本版专家分:215
Blank
脉脉勋章 绑定脉脉第三方账户获取
Blank
GitHub 绑定GitHub第三方账户获取
Blank
领英 绑定领英第三方账户获取
Bbs2
本版专家分:175
left join 多表查询出现重复
共有四个表,分别是A、B、C、D四个表rn其中A表是用户表,字段分别是:rnID name useridrn1 aaaa 10001rn2 bbbb 10002rn3 ccccc 10003rnrnB表是第一类产品表,字段分别是:rnID title time useridrn1 标题1 2014-1-1 10002rn2 标题2 2014-1-2 10002rn3 标题3 2014-1-2 10001rn4 标题4 2014-1-3 10002rn5 标题5 2014-1-3 10003rn..................................................(多条数据)rnrnC表是第二类产品表,字段分别是:rnID title time useridrn1 标题1 2014-1-1 10001rn2 标题2 2014-1-2 10003rn3 标题3 2014-1-2 10004rn4 标题4 2014-1-3 10002rn5 标题5 2014-1-3 10001rn..................................................(多条数据)rnrnD表是第三类产品表,字段分别是:rnID title time useridrn1 标题1 2014-2-3 10003rn2 标题2 2014-2-1 10001rn3 标题3 2014--2-1 10003rn4 标题4 2014-2-9 10002rn5 标题5 2014-2-8 10001rn..................................................(多条数据)rnrn如何通过多表<em>left</em> <em>join</em> 关联查询而同一个字段内的数据不<em>重复</em>?rnrn我是这样写的:rnrnselect a.*,b.title as btitle,b.time as btime,c.title as ctitle,c.time as ctime,d.title as dtitle,d.time as dtime from a表 as a <em>left</em> <em>join</em> B表 as b on a. userid=b.userid <em>left</em> <em>join</em> C表 as c on a.userid=c.userid <em>left</em> <em>join</em> D表 as d on a.userid = d.useridrnrn这样查出后,字段中的标题出现<em>重复</em>,请教如何才能不出现<em>重复</em>呢?rn
left join 如何去除重复
SQL如下rnrn[code=SQL]rnselectrnBS_CASE_FILE.OID, BS_CASE_FILE.CASE_SOURCE, BS_CASE_FILE.CASE_TYPE, BS_CASE_FILE.OPERATOR, BS_CASE_FILE.BIG_TYPE, a.TYPE_NAME as BIG_TYPE_NAME,rnBS_CASE_FILE.SMALL_TYPE, b.TYPE_NAME as SML_TYPE_NAME, BS_CASE_FILE.CASE_AREA, BS_CASE_FILE.STREET, BS_CASE_FILE.COMMUNITY, BS_COMMUNITY_STREET.NAME as COMMUNITY_NAME, BS_CASE_FILE.GRID, BS_CASE_FILE.POS_DESC, BS_CASE_FILE.STAND_POS_DESC, BS_CASE_FILE.PROB_DESC, BS_CASE_FILE.FINDER, BS_CASE_FILE.CONTACT, rnBS_CASE_FILE.STAT, BS_CASE_FILE.POS_X, BS_CASE_FILE.POS_Y, BS_CASE_FILE.REPORT_TIME, BS_CASE_FILE.COMPID, BS_CASE_FILE.USERID, BS_CASE_FILE.VERIFY_DESC, BS_STREET.STREET_NAME,rnBS_CASE_FILE.DAMG_DESC, BS_CASE_FILE.TASK_NUM, BS_CASE_FILE.VERIFY_START_TIME, BS_CASE_FILE.VERIFY_END_TIME, BS_DUTY_AREA.AREA_NAME, FDT_CASE_REPORT_FILE.FDT_CASE_REPORT_FILE_ID, rnFDT_CASE_REPORT_FILE.HANDLE_OPINITION, FDT_CASE_REPORT_FILE.CHECK_END_TIME, FDT_CASE_REPORT_FILE.CHECK_BEGIN_TIME, FDT_CASE_REPORT_FILE.CHECK_FLAG, FDT_CASE_REPORT_FILE.CHECK_MEMO rnfrom BS_CASE_FILE rn<em>left</em> <em>join</em> BS_TYPE a on a.ID=BS_CASE_FILE.BIG_TYPE and a.CASE_FLAG=BS_CASE_FILE.CASE_TYPE rn<em>left</em> <em>join</em> BS_TYPE b on b.ID=BS_CASE_FILE.SMALL_TYPE and b.CASE_FLAG=BS_CASE_FILE.CASE_TYPErn<em>left</em> <em>join</em> BS_GRID on BS_GRID.UNIT_CODE=BS_CASE_FILE.GRID rn<em>left</em> <em>join</em> BS_DUTY_AREA on BS_DUTY_AREA.OID=BS_GRID.BS_DUTY_AREA_OID rn<em>left</em> <em>join</em> BS_COMMUNITY_STREET onrnBS_COMMUNITY_STREET.ID=BS_CASE_FILE.COMMUNITY <em>left</em> <em>join</em> BS_STREET on BS_STREET.ID=BS_CASE_FILE.STREET rn<em>left</em> <em>join</em> BS_CITY_AREA on BS_CITY_AREA.AREA_CODE=BS_CASE_FILE.CASE_AREA rn<em>left</em> <em>join</em> FDT_CASE_REPORT_FILE on FDT_CASE_REPORT_FILE.REPORT_OID=BS_CASE_FILE.OID rnwhere 0=0 and BS_CASE_FILE.CASE_SOURCE='1'rn[/code]
数据库多表连接left join
[code=sql]rnCREATE TABLE Arn (ID integer,rn DIS integer,rn branch integer,rn trans integer)rninsert into A (id,dis,branch,trans) values (68001,568,568,001);rnCREATE TABLE Brn (ID integer,rn ID_APP integer)rninsert into B (id,id_app) values (68001,68001);rnrnrnrnCREATE TABLE Crn (ID integer,rn DIS integer,rn branch integer,rn trans integerrn status integer)rninsert into C(id,dis,branch,trans,status) values (68001,568,568,001,02);rninsert into C (id,dis,branch,trans,status) values (68001,218,218,005,02);rnrnrn[/code]rn[code=sql]rnselect a.id as id_app,b.id,c.status from A arn<em>left</em> <em>join</em> C c on a.dis = c.dis rnand a.branch = c.branchrnand a.trans = c.transrnand a.id = c.idrn<em>left</em> <em>join</em> B b on c.id=b.id[/code]rn我期望得到的结果是rnid_app id statusrn68001 68001 02rn实际得到的结果是rn68001 NULL 02rn关于第二个左连接(...)D <em>left</em> <em>join</em> B等值连接条件c.id=b.id中的c.id并没有在第一个左连接中选出来,但是C表和B表都存在id为68001的记录的。rn我想问的是怎么才能得到我期望的结果?怎么分析多表连接最终得到的结果?
left join 比 inner join 慢吗?
在很多的技术文章上都可以看到这么一句话"Left <em>join</em> 消耗的资源非常多",建议使用inner <em>join</em>rn但是在最近的工作中,我发现<em>left</em> <em>join</em> 的速度比inner <em>join</em> 快很多rn是特殊情况,还是<em>left</em> <em>join</em> 本身比inner <em>join</em> 快rn
LEFT JOIN 比 INNER JOIN快吗?
我在SQL SERVER 上测试一个sql,一个简单的连接查询,得到的结果都是66343条,但是LEFT JOIN只要30秒,INNER JOIN 42秒,在网上一般的说法都是尽量避免使用LEFT JOIN ,大家怎么看?
LEFT OUTER JOIN 和 LEFT JOIN是一样的意思吗?
如上
MIN和left join 冲突吗
我的MIN函数是在一个子查询的where里面的,当最外面连接的时候用 <em>left</em> <em>join</em>就会报“内部 SQL server 语法错误” 用等价连接就不会。
left join很浪费资源吗?
<em>left</em> <em>join</em>很浪费资源吗?
数据库joinleft join的区别
<em>left</em> <em>join</em> 左连接 意思是包含左边表所有记录,右边所有的匹配的记录,如果没有则用空补齐 JOIN: 如果表中有至少一个匹配,则返回行LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
left join 和right join
在同一个SQL语句中可不可以同时存在<em>left</em> <em>join</em>和right <em>join</em>?如rnselect * from table1 arn<em>left</em> <em>join</em> table2 b on a.c1=b.c1rnright <em>join</em> table3 c on c.c1=a.c1
left join 和 right join
七年SQL语句编写经验。满满的干货!在网上找了好多SQL<em>数据库</em>的教程,但你还会面临这样的问题:1. 自己写了SQL却不知道对不对。2. 在上线后发现原有的数据内容SQL语句执⾏结果没问题, 但是数据变化了以后SQL返回的结果就错误了。3. 稍微复杂⼀点的SQL就不知道该如何写了。4. 看不懂同⾏写的SQL是为什么。5. 不知道索引的原理。6. 不知道怎么加索引能够提⾼查询性能纵观全网的教程都只停留在概念解析的层面,没有深入剖析原理,所以看了那么多的教程,可还是不会写。本教程与其他教程不同带你深入了解原理,让你真正了解什么是SQL语句,让你懂得SQL语句的编写⽅法。不再为SQL语句而烦恼。真正做到面对任何问题能够判断出SQL语句是不是能够实现,该怎样实现。 
left joinjoin的使用场景
七年SQL语句编写经验。满满的干货!在网上找了好多SQL<em>数据库</em>的教程,但你还会面临这样的问题:1. 自己写了SQL却不知道对不对。2. 在上线后发现原有的数据内容SQL语句执⾏结果没问题, 但是数据变化了以后SQL返回的结果就错误了。3. 稍微复杂⼀点的SQL就不知道该如何写了。4. 看不懂同⾏写的SQL是为什么。5. 不知道索引的原理。6. 不知道怎么加索引能够提⾼查询性能纵观全网的教程都只停留在概念解析的层面,没有深入剖析原理,所以看了那么多的教程,可还是不会写。本教程与其他教程不同带你深入了解原理,让你真正了解什么是SQL语句,让你懂得SQL语句的编写⽅法。不再为SQL语句而烦恼。真正做到面对任何问题能够判断出SQL语句是不是能够实现,该怎样实现。 
LEFT JOIN 和JOIN 多表连接
四张表contract 、customer、customer3、customer4: 这是比较熟悉的3张表的连接 SELECT * FROM test.contract a JOIN test.customer b ON a.Num = b.Num2 JOIN test.customer3 c ON a.num = c.num3; 连接不一定<em>join</em>后面都是和第一张表的连接。
Inner join on and left join on
SELECT RT.ROOM_SYMBOL, rn RTI.ROOM_NAME, rn P.OYADO_PLAN_NO, rn P.PLAN_TYPE, rn PI.PLAN_NAME,rn P.STATUS,rn MAX(GC.DAY) AS DAY rnFROM rn HT_GOODS Grn LEFT JOIN HT_PLAN P ON G.PLAN_NO = P.PLAN_NO rn rn INNER JOIN HT_PLAN_I18N PI ON P.PLAN_NO = PI.PLAN_NO rn rn LEFT JOIN HT_ROOMTYPE RT ON G.ROOM_NO = RT.ROOM_NO rn rn INNER JOIN HT_ROOMTYPE_I18N RTI ON RT.ROOM_NO = RTI.ROOM_NOrn rn LEFT JOIN HT_GOODS_CHARGE GC ON GC.GOODS_NO = G.GOODS_NO rnWHERE G.FACILITY_CODE = '50001' rn AND P.DISP_FLAG = '1' rn AND RT.DISP_FLAG = '1'rn AND G.DELETE_FLAG = '0'rn AND RTI.LANGUAGE_CODE = 'ja'rn AND PI.LANGUAGE_CODE = 'ja'rnGROUP BY RT.ROOM_SYMBOL, rn RTI.ROOM_NAME, rn P.OYADO_PLAN_NO, rn P.PLAN_TYPE, rn PI.PLAN_NAME, rn P.STATUS, rn RT.DISP_SEQ, rn P.DISP_SEQrnORDER BY RT.DISP_SEQ ASC, rn P.DISP_SEQ ASCrnrnrnrn在同事的指点下第一次写了 rnInner <em>join</em> on rn<em>left</em> <em>join</em> onrnrn这样的SQL但是在 rnfrom rnInner <em>join</em> on rn<em>left</em> <em>join</em> onrn 之后 这样连接表,有点不明白,他和在 wherer 之后 左右连接 有何区别?rn谁能简单的说说rnrn左连接 和 右连接rnrn或者是 给点资料也可以的
数据库left join的问题??
需要跨<em>数据库</em><em>left</em> <em>join</em> 俩个表a,b。。<em>数据库</em>是不同类型的<em>数据库</em>oracle,mssqlrnrnselect * from a <em>left</em> <em>join</em> b on a.id=b.id where b.col1="xxx"rn和rnselect * from a <em>left</em> <em>join</em> b on a.id=b.id where a.col1="ccc"rn rn这俩个sql要怎么实现呢???rnrn我的思路是比如:select * from a <em>left</em> <em>join</em> b on a.id=b.id where b.col1="xxx"rn先查询 select b.id from b where b.col1="xxx"rn然后在 select * from a where a.id in (b.id) rnrn思路看起来可行,但是好像与语句顺序相反。而且如果b.id很多的话,导致 where a.id in (b.id) 会很长,in查询好像也有长度限制,不过可以使用for循环解决,比较麻烦些。。rnrn如果先执行select * from a <em>left</em> <em>join</em> b on a.id=b.id 再根据where语句过滤 ,好像俩面会加载好多无用的记录集。。rnrnrn有没有更好的思路呢??
数据库left join相关的问题
前言 记录三个东西, 第一是<em>left</em> <em>join</em>的作用, 第二是<em>left</em> <em>join</em>中on和where的区别, 第三是<em>left</em> <em>join</em>,right <em>join</em>,inner <em>join</em>中的小表驱动大表的疑问。 <em>left</em> <em>join</em>的作用 作用:返回包括左表中的所有记录和右表中联结字段相等的记录。 下面通过例子来说明。 假设表1为: +----+------+ | id | name
请问 left joinleft outer join 的区别
请问 <em>left</em> <em>join</em> 和 <em>left</em> outer <em>join</em> 的区别
left joinleft join fetch与lazy
<em>left</em> <em>join</em>和<em>left</em> <em>join</em> fetch都是迫切左连接吧,与配置文件里面的lazy没有关系,只是返回的对象不同,我的理解对吗?
left join???
<em>left</em> <em>join</em>在跨<em>数据库</em>查询的时候有没有限制?rn刚刚在用<em>left</em> <em>join</em>跨<em>数据库</em>查询的时候发现没有rn进行筛选查询,得到的结果是a表的所有数据,很rn奇怪,请高人们指点!rn谢谢![img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/0.gif][/img]rn[code=SQL]rnselect a.porder,a.eda,a.code, a.kvol,a.tjitu,b.kvol as bkvol,b.tjitu as btjitu from testsks.dbo.xslip as arn<em>left</em> <em>join</em> testtpics31.dbo.xslip as brnon a.porder=b.porderrnand a.eda=b.edarnand a.code=b.codernand a.vendor=b.vendorrnand a.kvol<>a.tjiturnand a.tjitu<>b.tjiturn[/code]
LEFT JOIN
mysql中的查询语句包含<em>left</em> <em>join</em>,rn在SQL SERVER中使用什么sql语句可以达到这个目的?rnrn比如mysql的:rnSELECT p.pid, p.topic_id, t.forum_id FROM posts p LEFT JOIN topics t ON ( p.topic_id=t.tid ) WHERE p.pid='20'
left join ...on 与left join ...using的区别是什么
感觉用on和用using基本上没什么影响,但是还是想问问,他们到底有什么区别,具体是怎么用的?
left join
我不懂这个语句怎么写,把逻辑描述出来,望描述的够清楚,谢谢大家帮忙,有四个表A,B,C,D要关联rnselect A <em>left</em> <em>join</em> B <em>left</em> <em>join</em> C <em>left</em> <em>join</em> D 达不到效果。具体应如下:rn先“表A <em>left</em> <em>join</em> 表B”--算结果1好了rn在“表C <em>left</em> <em>join</em> 表D”--结果2rn在将“结果1 <em>left</em> <em>join</em> 结果2”rn
hibernate的left join 与sql的left join的区别
sql中的 <em>left</em> <em>join</em> 左连接保留前面表的所有记录,后表中没有的补nullrnhql中的 <em>left</em> <em>join</em> 连接子表查询,如子表不符合条件,主表也显示所有吗?那还查什么?rnrn之间是什么区别?
left join 右表多条数据重复
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql的<em>left</em>
oracle left join 分页数据重复问题
问题描述:使用 Oracle 的多分页查询语句,不同页面之间出现数据<em>重复</em>,但是<em>数据库</em>的数据是正确的,查询全部的时候也能显示出来。 sql实例:SELECT * FROM(SELECT ROWNUM RN,TA.* FROM(SELECT A.*,B.* FROM TALBE_A A LEFT JOIN TABLE_B B ON A.ID= B.A_ID WHERE A.NAME='King'
我的left join为什么有重复
是个人才招聘的表rncompany表中有5条记录,代表有5家注册公司。rncompany_joblist中有6条记录,代表有6条招聘的工作岗位,其中一家公司有2条招聘岗位rnrn我要实现与注册公司相匹配,即有几家公司就出几条记录。如上就只出来5条,每家公司的工作岗位取company_joblist中的第一条。rnrn如下sql语句rnSELECT *rnFROM company AS a <em>left</em> outer JOIN company_joblist AS b ON a.id=b.company_idrnWHERE b.isstop=0;
关于 left join重复问题,求解
[code=SQL] select ... from wis_women wwrn<em>left</em> <em>join</em> (select * from wis_contraception co) co on ww.wid=co.womanidrn<em>left</em> <em>join</em> (select * from wis_foster fo) fo on ww.wid=fo.womanidrn<em>left</em> <em>join</em> (select * from wis_surgery su) su on ww.wid=su.womenidrn<em>left</em> <em>join</em> (select * from wis_married ma) ma on ww.wid=ma.womenid[/code]rnrn有个问题想请教大家,wis_women 与下面几个<em>left</em> <em>join</em>的表都是1:n的关系,当我查询结果出来后,会出现<em>重复</em>的情况,比如其中一个子表有二条记录,另外几个有一条,结果会出来二行记录,第二行记录除了有二条记录的子表正常以外,其它列全部<em>重复</em>显示第一列的内容,rnrn我的问题是,如何避免出现<em>重复</em>,可以让第二行,<em>重复</em>的内容显示为空吗?
left join 如何去掉重复
表ArnLINENUM PRICErn0 10rn1 20rnrn表BrnALINE AMOUNT PRICErn0 5 12rn0 10 15rn1 5 22rn1 10 25rnrn我现在的语句rnSELECT * FROM ArnLEFT JOIN B ON B.ALINE = LINENUMrnrn这样输出的结果是rnLINENUM PRICE ALINE AMOUNT PRICErn0 10 0 5 12rn0 10 0 10 15rn1 20 1 5 22rn1 20 1 10 25rnrn想要实现的结果是rnLINENUM PRICE ALINE AMOUNT PRICErn0 10 0 5 12rnNULL NULL 0 10 15rn1 20 1 5 22rnNULL NULL 1 10 25
请教一个left JOIN去除重复的问题
我原来的是rnSELECT top 8 * from PE_Article <em>left</em> JOIN PE_Comment on PE_Comment.InfoID=PE_Article.ArticleID where ChannelID=1002 Order By ArticleID descrn可以查询出8条数据,但是会把有<em>重复</em>的也显示出来rnrnPE_Article rn中的ArticleID ChannelID ClassID Title TitleIntact Subheading Author CopyFrom Inputer LinkUrl Editor Keyword Hits CommentCount UpdateTime CreateTime OnTop Elite Status Content IncludePic DefaultPicUrl UploadFiles InfoPoint PaginationType Deleted SkinID TemplateID Stars TitleFontColor TitleFontType MaxCharPerPage ShowCommentLink Receive ReceiveUser Received AutoReceiveTime ReceiveType Intro PresentExp Copymoney IsPayed Beneficiary PayDate VoteID InfoPurview arrGroupID ChargeType PitchTime ReadTimes DividePercent BlogIDrnrnpe_commentrn中是 CommentID ModuleType InfoID UserType UserName Sex OICQ MSN ICQ Email Homepage IP WriteTime Score Content ReplyName ReplyContent ReplyTime Passedrnrnrn不知道高手们看的懂不,我是新手,让我整理太难了, InfoID中如果有<em>重复</em>数据的话,会显示<em>重复</em>数据,我觉得就是应该在PE_Comment.InfoID=PE_Article.ArticleID比较之前就把InfoID中<em>重复</em>的值去掉,请高手帮忙写个列子吧,access<em>数据库</em>
left join 和Left outer joinjoin有什么区别??
谢谢.
inner joinleft join 的问题
听同事说: inner <em>join</em> 中能够实现的功能,都能用 <em>left</em> <em>join</em> 来实现, 并且效率更好! 我只是知道怎么用 <em>left</em> <em>join</em> 来代替实现 inner <em>join</em>的功能,但不知道,为什么效率会更好,我想了解这个方面的原因.知道的朋友告诉一声!
inner joinleft join的组合问题
请大家帮我看看下列sql代码是不是逻辑有问题?rn前面部分都是inner <em>join</em> ,最后两个是<em>left</em> outer <em>join</em>rnrn[code=SQL]... tableA inner <em>join</em> tableB on tableA.XX =tableB.XX inner <em>join</em> tableC on tableB.XX=tableC.XX inner<em>join</em> tableD on tableC.xx=tableD.xx <em>left</em> outer <em>join</em> tableE on tableA.XX=tableE.XX <em>left</em> outer <em>join</em> tableF on tableA.XX=tableF.XX[/code]rnrn具体的字段我就不写了,免得看起来冗长麻烦,我用XX代替,注意我的<em>left</em> outer <em>join</em> tableE on tableA.XX=tableE.XX,这样的语法有是否正确? 这里似乎应该是on tableD.XX=tableE.XX而不是on tableA.XX=tableE.XX,但我的表中只有on tableA.XX=tableE.XX能关联起来,tableD和tableE无法直接关联,最后还有一个<em>left</em> out <em>join</em>也是类似的问题,请问我这里写的代码有问题吗?应如果处理这种情况?
left outer join 与INNER JOIN
今天碰到个问题.rnselect a.issue_type,a.issue_req_no,b.issue_req_nornfrom scb010t as a rn<em>left</em> outer <em>join</em> sda010t brnon a.issue_req_no=b.issue_req_nornand a.issue_type not in ('99')rn结果是60159条记录.正好是select * from scb010t的记录rn本来我是这样理解的.用and a.issue_type not in ('99')这个去限制SCB010T表使他只显示除'99'以外的记录.结果还是有这个99的记录存在.如果用这样写成rnselect a.issue_type,a.issue_req_no,b.issue_req_nornfrom scb010t as a rninner <em>join</em> sda010t brnon a.issue_req_no=b.issue_req_nornand a.issue_type not in ('99')rn或rnselect a.issue_type,a.issue_req_no,b.issue_req_nornfrom scb010t as a rn<em>left</em> outer <em>join</em> sda010t brnon a.issue_req_no=b.issue_req_nornwhere a.issue_type not in ('99')rn的话就可以,是不是LEFT outer <em>join</em> 问题.能不能帮我解答解答?
Left join 和 Right join 的区别
碰到一面试的问:rnrnselect * from A <em>left</em> <em>join</em> B on A.ID=B.ID rnrn和rnrnselect * from B right <em>join</em> A on B.ID=A.ID rnrn有区别吗?rnrn我说没区别,他笑了。rnrn弄得我很茫然。rnrn高手解释下。。
inner joinleft join 的问题
听同事说: inner <em>join</em> 中能够实现的功能,都能用 <em>left</em> <em>join</em> 来实现, 并且效率更好! 我只是知道怎么用 <em>left</em> <em>join</em> 来代替实现 inner <em>join</em>的功能。但不知道为什么效率会更好,我想了解这个方面的原因.知道的朋友告诉一声!rn
inner join and left join 区别
select * from a <em>left</em> <em>join</em> b on a.id=b.id rnrnselect * from a inner <em>join</em> b on a.id=b.idrnrnrna的记录比b多!rnrn前一条我知道,b.id 在a里没有的话,记录就为NULL、rn那第二条的记录是等于以b记录吗?
Left Join 和 Inner Join的问题
如果SQL里面有rnwhere A rn <em>left</em> outer <em>join</em> B on A.bid=B.bidrn <em>left</em> outer <em>join</em> C on A.cid=C.cidrn <em>join</em> D on C.id=D.idrn <em>left</em> outer <em>join</em> E a.eid=d.eidrn请问这几个<em>left</em> <em>join</em> 和 <em>join</em>是什么意思,这句话是什么意思,谢谢!!
left join、inner join疑问
u表id自段为主键,s表引用u表id,其中s表只有u表id自段中的部分记录。rnu为左,s为右,用<em>left</em> <em>join</em> 查询,却不能把u表的所有记录查询出来,跟用inner <em>join</em>查询的结果没有区别,我想把所有s表匹配和不匹配u表的内容查询出来rn例如:rn-----------------rnu表:rnid userNamern1 张三rn2 李四rn3 王五rn-----------------rns表:rna_id scorern1 65rn1 68rn3 70rn-----------------rn我想要实现的效果:rnuserName totalScorern张三 133rn李四 0rn王五 70rn------------------rn要想实现上面的效果应该怎样写呢?请别简单的告诉我用<em>left</em> <em>join</em> 或 right <em>join</em> ,我上面已经说过了,那样不行,<em>只能</em>显示总分不为0的数据,跟用inner <em>join</em>一样,或者请大虾指明我下面sql语句的错误之处:rnselect u.username ,sum(s.score)rnfrom users u <em>left</em> <em>join</em> score srnon u.id = s.a_id rnwhere time between '2008-10-01' and '2008-10-31'rnand u.id not in (select id from users where popedom = 0)rngroup by u.usernamernorder by s.score desc
inner join left join区别
什么时候选择inner,什么时候选择<em>left</em>rnrntable1rntable2
left join ...on inner join ...on..??????
小弟刚刚开始看SQL,看到<em>left</em> <em>join</em>..on ,还有inner <em>join</em> ..onrn不知道他们什么意思,有人愿意用简单的说明解释一下吗,还有另外有没有别的与此类似的语句,谢谢!!!
再问inner joinleft join
谢谢宝宝提供的资料。rn问题是执行select * from table1 <em>left</em> <em>join</em> table2 on table1.id=table2.idrn得到的结果是三行,执行select a.*,b.* from table1 a,table2 b where a.id=b.id之后得到的是两行,那为什么还要用前者呢?前者似乎有NULL值的行是无用行,是吗?
数据库获取数据
right页面rnrnrnrnrn rn rn rn rnrn rn rn rnrn rn rn rn rn rn rn rn 价格:rn rn rn 简单介绍:这是部好电影rn rn rnrnrnrn rn rn rnrnrn这是主页面rnrnrnrnrnrnrnrnrnrnrnrn My JSP 'index.jsp' starting pagern rn rn rn rn rnrn rnrnrnrnrn rn rn rn rn rn rn rn rn rn rn rn rnrnrn右页面,为什么在主页面中显示不出来
left join里能加上where吗
如题,请问可行吗?
Oracle支持LEFT OUTER JOIN吗?
我用这个来创建一个view,但是报错,说ORA-00933 sql command not properly ended。语句如下:rnSELECT I.STUFF_ID, I.STUFF_NAME, I.STUFF_AMOUNT, I.UNIT_PRICE, I.ACCOUNTUNIT_NO, I.NOW_QUANTITY,I.IN_PRINT, I.OUT_PRINT,rn O.AMOUNT_OUT_SUM, O.UNITPRICE_OUT_AVG,rn A.ACCOUNTUNIT_NAMErnFROM T_QINGQIAN_STUFFIN I LEFT OUTER JOIN V_QINGQIAN_STUFFOUT_SUM O ON O.STUFF_ID = I.STUFF_ID,rn DICT_ACCOUNTUNIT A INNER JOIN I ON A.ACCOUNTUNIT_NO = I.ACCOUNTUNIT_NOrnrnrn如果不能用的话,用什么方法来取得同样的效果?也就是说即使O Table中没有 I Table关联数据,也能把I Table中的所有数据都取出来??rn
update 可以与left join 一起用吗?
各位大神,我是这么写的,好像不对,能帮我改改吗?谢谢!rn$query = "UPDATE a,b set a.sta = '3',b.scores='b.scores+a.pname' from `member_operation` WHERE aid = '$var' as a <em>left</em> <em>join</em> `member` as b on a.mid=b.mid ";rnrnmember_operation WHERE aid = '$var表和member表通过 a.mid=b.mid相联。rnrn我想使得member_operation 表中的sta = '3',member表中的scores等于原有值加上member_operation 中pname值。
left join 可以指定字段吗?
[b]select * from news <em>left</em> <em>join</em> newscls on newscls.id=news.cid;[/b]rnrn比如我只想取 newscls 里面的一个 title 字段, 咋写着呢。。 必须用<em>left</em> <em>join</em> 呀。rnrnrn谢谢指教!
oracle外连接 (+)和left join 有效率区别吗
在公司写代码经常要用到左连接rn大家对sql都不是很精通rnrn有些同事却<em>一直</em>以(+)效率高为理由,提倡用(+)rn他们认为这是oracle自己特有的语法,有经过优化rn而且都说曾经比较过效率rnrn个人坚持使用<em>left</em> <em>join</em> rn可读性高、功能更全面、通用性强、而且是新标准rn很少使用(+),感觉不到有效率的差别,从执行计划上看也是相同的rn而(+)这种语法也不能说是oracle的特有的,像sql server就有*=的用法rn我觉得这是sql标准的区别rnrn请教高手rn如果有区别,麻烦举例rn如果没区别,我改如何说服其他同事rnrnrnrn
left join 有办法优化吗?
MySql<em>数据库</em>,A表有60W条数据,B表50W条rn要求出A表中存在但B表中不存在的数据,用的 LEFT JOIN ,但是很慢很慢。。。rn实际上B表是有序的,根本不需要每条记录都遍历,有办法优化么?rn
left join 会极大的降低效率吗?
现在有一条查询语句用了6个<em>left</em> <em>join</em>,查询时速度时快时慢。具体表现为,第一次查询耗时10几秒,随后再查询只要2秒左右,再过一段时间去查询耗时又增加到10几秒。表PamEntry,pamelig,pameligresquest,pamupload数据为7W左右,其他表为2K一下。rnrn由于<em>数据库</em>在客户那里,我们开发人员只有修改表的权限,也无法查看v$相关的表,<em>只能</em>在PL/SQL 里面看一下查询计划,请大家帮忙分析一下这条查询语句是不是有很大的性能问题?如果把<em>left</em> <em>join</em>的表合并到一张<em>表里</em>面,速度是不是可以提升很多?谢谢了!rnrnselect *rn from (select tmp.*, rownum as rum_rn from (select t.*,rn d.eligbegindate,rn d.eligenddate,rn e.subfirstname subresfirstname,rn e.sublastname subreslastname,rn e.subssn,rn e.subdob,rn e.subemployer,rn e.subaddress1,rn e.subaddress2,rn e.subphone,rn e.subaltphone,rn b.clientName,rn c.payerfullid as pamPayerFullId,rn c.payername as emdeonPayerName,rn CASErn WHEN t.status = 'C' THENrn 'Closed'rn WHEN t.status = 'W' THENrn 'WIP'rn WHEN t.status = 'P' THENrn 'Processed'rn WHEN t.status = 'EI' THENrn 'EligIncomplete'rn WHEN t.status = 'PI' THENrn 'XPRE'rn WHEN t.status = 'I' THENrn 'EligIncomplete'rn WHEN t.status = 'PE' THENrn 'PE'rn END as status2,rn f.uploadtime as uploadtime,rn g.definitionrn from (select t.*rn from PamEntry trn where t.clientid = 'FLH03477'rn and ((t.STATUS = 'EI' or t.STATUS = 'PI') orrn t.STATUS in ('W', 'P'))rn order by t.entryseq) trn <em>left</em> <em>join</em> PamClientProfile b on t.clientId = b.clientIdrn <em>left</em> <em>join</em> PamPayer c on t.payerId = c.payerfullidrn <em>left</em> <em>join</em> pamelig d on t.entryseq = d.entryseqrn <em>left</em> <em>join</em> pameligresquest e on e.entryseq = t.entryseqrn <em>left</em> <em>join</em> pamupload f on t.batchseq = f.batchseqrn <em>left</em> <em>join</em> pam271codes g on d.aaa03 = g.codern and g.codeType in ('AAA03', 'EB01')) tmp)rn where rownum rnSQL> select plan_table_outputrn 2 from table(dbms_xplan.display('plan_table',null,'serial'));rnrnPLAN_TABLE_OUTPUTrn--------------------------------------------------------------------------------rnPlan hash value: 3678662313rn--------------------------------------------------------------------------------rn| Id | Operation | Name | Rows | Byrn--------------------------------------------------------------------------------rn| 0 | SELECT STATEMENT | | 20 | 46rn|* 1 | COUNT STOPKEY | | |rn| 2 | VIEW | | 20 | 46rn| 3 | COUNT | | |rn|* 4 | HASH JOIN RIGHT OUTER | | 20 |rn|* 5 | TABLE ACCESS FULL | PAM271CODES | 52 | 1rn| 6 | NESTED LOOPS OUTER | | 20 |rn| 7 | NESTED LOOPS OUTER | | 20 |rn| 8 | NESTED LOOPS OUTER | | 20 |rn|* 9 | HASH JOIN RIGHT OUTER | | 20 |rn| 10 | TABLE ACCESS FULL | PAMPAYER | 3812 |rn|* 11 | HASH JOIN RIGHT OUTER | | 20 | 74rn| 12 | TABLE ACCESS FULL | PAMCLIENTPROFILE | 48 | 1rn| 13 | VIEW | | 20 | 37rn| 14 | SORT ORDER BY | | 3436 |rnrnPLAN_TABLE_OUTPUTrn--------------------------------------------------------------------------------rn|* 15 | TABLE ACCESS BY INDEX ROWID| PAMENTRY | 3436 |rn|* 16 | INDEX RANGE SCAN | PAMENTRY_CLIENTID | 4683 |rn| 17 | TABLE ACCESS BY INDEX ROWID | PAMUPLOAD | 1 |rn|* 18 | INDEX UNIQUE SCAN | PAMUPLOAD_PK | 1 |rn| 19 | TABLE ACCESS BY INDEX ROWID | PAMELIGRESQUEST | 1 |rn|* 20 | INDEX UNIQUE SCAN | PAMELIGRESQUEST_PK | 1 |rn| 21 | TABLE ACCESS BY INDEX ROWID | PAMELIG | 1 |rn|* 22 | INDEX UNIQUE SCAN | PAMELIG_PRIMARY | 1 |rn--------------------------------------------------------------------------------rnPredicate Information (identified by operation id):rn---------------------------------------------------rn 1 - filter(ROWNUM
access中的查询语句支持left join 吗?
如题
如何滤掉数据库表里重复
sql的语法是?
数据库多个left join如何执行
select * from a <em>left</em> <em>join</em> b on a.abid = b.baid <em>left</em> <em>join</em>  c  on c.cbid = b.bcid  顺序是先a,b组合成一个虚拟表,然后虚拟表再和C表关联 a表先和b表<em>left</em> <em>join</em> 生成虚拟表(假设为T1),是T1直接和C <em>left</em> <em>join</em>
left join 效率问题
问题:两张表关联 <em>数据库</em>使用oracle,<em>left</em> <em>join</em>,第一张表30w条数据,第二张表300条数据,开始使用第一张表关联第二张表,查询20个字段信息,导致oracle崩溃。 解决1: 使用右关联然后进行过滤,使查出来效果和左关联一样,但当查询字段信息在5个以下的时候可以正常查出,但是到第6个字段,oracle再次崩溃 解决2: 将要关联的两个表信息进行update整合成一张表,然后查
left join问题
有两张表a b,根据我写的sql a中有数据,b中没有数据但是为什么当我把b的查询条件里加上就能查到数据,不加的时候就查不到数据呢?rnrn[color=#FF0000]情况一[/color]:rn[code=sql]select a.V_ZBMCHENG,rn a.V_ZBBMING,rn a.V_EMGJSGSHI,rn Lower(a.V_ZBBHAO) V_ZBBHAO,rn a.V_ZBBHAO V_ZBBHAO_NEW,rn Lower(a.V_JSGSHI) V_JSGSHI,rn a.V_SFZYZB,rn a.V_SFHGL,rn a.HY_XMGLID,rn a.HY_SCZBGL_ID,rn a.V_XSDWSHU,rn '' L_CSZHI,rn '' HY_SCZB_DATA_IDrn from hy_sczbgl arn <em>left</em> <em>join</em> (select *rn from HY_SCZB_DATArn where hy_xmgliid = '4ecd77b7-9cfc-48d9-949d-9691d58962eb'rn AND v_operator = 'jxstar'rn AND v_lrsj = ''rn AND v_time = ''rn AND v_bcbh = '') brn on a.HY_SCZBGL_ID = b.HY_SCZBGLI_IDrn where a.HY_XMGLID = '4ecd77b7-9cfc-48d9-949d-9691d58962eb'[/code]rnrn这样 查询没有数据rnrn情况二:我仅仅是把b的查询里的v_lrsj v_time v_bcbh 三个字段给了值然后就有数据了rn[code=sql]rnselect a.V_ZBMCHENG,rn a.V_ZBBMING,rn a.V_EMGJSGSHI,rn Lower(a.V_ZBBHAO) V_ZBBHAO,rn a.V_ZBBHAO V_ZBBHAO_NEW,rn Lower(a.V_JSGSHI) V_JSGSHI,rn a.V_SFZYZB,rn a.V_SFHGL,rn a.HY_XMGLID,rn a.HY_SCZBGL_ID,rn a.V_XSDWSHU,rn b.N_VALUE L_CSZHI,rn '' HY_SCZB_DATA_ID rn from hy_sczbgl arn <em>left</em> <em>join</em> (select *rn from HY_SCZB_DATA brn where b.hy_xmgliid = '4ecd77b7-9cfc-48d9-949d-9691d58962eb'rn AND b.v_operator = 'jxstar'rn AND b.v_lrsj = '2016-12-30'rn AND b.v_time = '11:30'rn AND b.v_bcbh = '早') brn on a.HY_SCZBGL_ID = b.HY_SCZBGLI_IDrn where a.HY_XMGLID = '4ecd77b7-9cfc-48d9-949d-9691d58962eb'[/code]rnrn但是我单独查询b表[code=sql]select *rn from HY_SCZB_DATArn where hy_xmgliid = '4ecd77b7-9cfc-48d9-949d-9691d58962eb'rn AND v_operator = 'jxstar'rn AND v_lrsj = ''rn AND v_time = ''rn AND v_bcbh = ''[/code]rn不给值查询,或者给值查询rn[code=sql]select *rn from HY_SCZB_DATA brn where b.hy_xmgliid = '4ecd77b7-9cfc-48d9-949d-9691d58962eb'rn AND b.v_operator = 'jxstar'rn AND b.v_lrsj = '2016-12-30'rn AND b.v_time = '11:30'rn AND b.v_bcbh = '早'[/code]rn都是没有数据的。rnrn按照我的理解 <em>left</em> <em>join</em> 等于a 表 加上 a 和 b 的关联, 那么无论b表 有没有数据, 都应该有a表的数据存在啊rnrn为什么会出现这样的情况,是因为表结构设计的原因吗?
left join的重要性
今天应某人的要求,写一篇博客,有关我今天早上所遇到的问题。 首先提需求:写一个脚本,查出医生排班情况(要具体),四个字段关联四张表。 首先我想到的是这样的:   select         [ghlx]       ,e.[sfxmmc]       ,a.[ks]       ,c.[ksmc]       ,[ys]       ,  b.[gh]  as gh
Left join 的简单运用
一切以知识分享为目的
左外连接LEFT JOIN和where
SELECT a.id, a.user_name, a.user_type, a.parent_uid, b.limit_num, b.uid FROM pms_users a LEFT JOIN pms_recommend_limit b ON a.id = b.uid WHERE a.user_type = '89' AND a.parent_uid =...
left join 的疑惑
表A(id,name),表B(id,id1,name)rnselect t1.id,t1.name t2.name from A t1 <em>left</em> <em>join</em> B t2 on t1.id = t2.id1rn我想问的是如果B表中统一给id1有多条记录,在查询的结果中会有多个<em>重复</em>的id值,但我是以A表为主表,他只存在一条,结果为什么会有多条?rn
LEFT JOIN 效率问题
SELECT SUM(tbItems.fdiItemCount) - (CASE B.SumCount WHEN NULL THEN 0 ELSE tbOEM.SumCount END) AS fdiItemCountrnFROM tbItems LEFT OUTER JOIN tbOEM ON tbItems.fdiItemID = tbOEM.fdiItemIDrnGROUP BY tbItems.fdiItemID, tbOEM.SumCountrnrn虽然这样可以避免了集合里面出现NULL的情况但是效率比较慢~fdiItemsID SumCount已加索引rn有没有更好的方法呢???
left join的问题!!!!!着急...
A表rnid typeNamern1 数据更新rn2 天气预报rn3 主机维修rn4 病毒感染rnrnB表rnrnid typeName addTime userNamern1 病毒感染 2008-1-1 小张rn2 主机维修 2008-1-3 小李rn3 病毒感染 2008-1-2 小张rn4 数据更新 2008-1-1 小张rn5 主机硬件 2008-2-1 小张rnrn我想要一个效果就是如下:rnrn 姓名 类型 次数rn 小张 数据更新 1rn 小张 天气预报 0rn 小张 主机维修 1rn 小张 病毒感染 2rn 小李 数据更新 0rn 小李 天气预报 0rn 小李 主机维修 1rn 小李 病毒感染 0rnrn怎么写sql语句?rnrnrn
LEFT JOIN的问题
碰到一个奇怪问题rnSELECT 物料编码ID,物料编码,物料名称,规格型号,计量单位,仓库ID,仓库名称,供应商名称,供应商价格,市场名称,市场价格,MAX(fprice) AS 最高价格,MIN(fprice) AS 最低价格,AVG(fprice) AS 平均价格,rn供应商地区,市场地区rnINTO #RK1 FROM #RKrnLEFT JOIN ICSTOCKBILLENTRY ICE ON ICE.FITEMID=#RK.物料编码ID AND ICE.fdcstockid=#RK.仓库IDrnLEFT JOIN ICSTOCKBILL IC ON IC.FINTERID=ICE.FINTERIDrnWHERE IC.FTRANTYPE=1 AND IC.FDATE>=@DATE5 AND IC.FDATE<=@DATE6rnGROUP BY 物料编码ID,物料编码,物料名称,规格型号,计量单位,供应商名称,市场名称,仓库名称,仓库ID,供应商价格,市场价格,市场地区,供应商地区rnORDER BY 物料编码rnrn按理说显示的物料应该是#RK表中所有的物料,但是执行后发现物料少了一行rnLEFT JOIN ICSTOCKBILLENTRY ICE ON ICE.FITEMID=#RK.物料编码ID AND ICE.fdcstockid=#RK.仓库ID,这个地方必须要以物料和仓库做关联条件rn我<em>一直</em>怀疑是这个地方有问题rn大家帮忙看一下,谢谢
多表查询join left问题
Sql = "Select * From Sell_Item_List as a <em>left</em> <em>join</em> Server_Item as b on a.Item_class=b.id <em>left</em> <em>join</em> Staff_Info on a.Staff_no = Staff_Info.Staff_no"rnrnrnrn提示语法错误..操作符丢失
left join 加条件判断
select *rnfrom SCG Grn<em>left</em> <em>join</em> rnFGYS SrnON G.ID=S.IDrn<em>left</em> <em>join</em> rnHUTS Hrn[color=#FF0000]IF(LEN(H.vNAME)>0)rnON H.ID=S.IDrnELSErnON H.AID=S.IDrnEND[/color]rn红色部分报错,求解,谢谢
sql left join求助
[img=http://ww2.sinaimg.cn/large/6b701803gw1dll4all5wxj.jpg][/img]rnrn如图,黄色和红色单元格都要满足……rnsql没好好学,被难到了……rn谢谢大家……
left join基础
表一 rnname data_rnA 4rnb 6rnA 2rnB 3rnC 4rnD 5rnrn表二rnname data_rnA 3rnb 5rnB 2rnD 1rnrn现在要求得到rnname data_ data_2rnA 4 3rnb 6 5rnA 2 3rnB 3 2rnC 4rnD 5 1rnD 5
left join的问题
mbinfo表:rn[img=https://img-bbs.csdn.net/upload/201612/15/1481786247_729882.png][/img]rntranPay 表:rn[img=https://img-bbs.csdn.net/upload/201612/15/1481786282_600696.png][/img]rn[code=sql]rnSELECT * FROM mbinfo A RIGHT JOIN tranPay B ON a.dogid = b.dogid WHERE b.vipNo !='' OR b.cardno != '';rn[/code]rn然后得到的结果却是:rn[img=https://img-bbs.csdn.net/upload/201612/15/1481786472_93091.png][/img]rn
php left join 问题。
有两个表a(id name age),b(aid name age) ,<em>left</em> <em>join</em> on a.id=b.id,现在的问题是,我想取b表中的name值,该怎么取(因为b表的name跟a表的name同名,所以我就不会了。。。)?
oracle 使用left join
select plate.plateID,PlateName,PlateState,PlateRemarks,Topic.TopicTitle,AnswerCountA,userInfo.usernamernfrom platern<em>left</em> <em>join</em> Topicrnon Topic.plateID=plate.plateID and TopicTope='置顶帖'rn<em>left</em> <em>join</em> userInfornon Topic.userID=userInfo.userIDrn<em>left</em> <em>join</em> (select TopicID,count(*) as AnswerCountA rnfrom Answer group by TopicID) [color=#FF0000]as[/color] userTopic rnon Topic.TopicID = userTopic.TopicIDrnwhere ParentID=:ParentIDrnrn这个语句在as那里报错,显示缺少关键字,这是什么错?我之前在SQL 2008里运行过是正确的,但是在ORACLE里面就有问题。。有没有大神可以解释下??
关于left join
我在查一个表的时候,没用<em>left</em> <em>join</em> 记录数是对的,加了<em>left</em> <em>join</em>就多了很多<em>重复</em>的记录rn去掉又正常了rn<em>left</em> <em>join</em>不是以左表为准吗?怎么会使记录数增加?
sql2005 left join 问题
[code=SQL]rnselect * from (rnselect row_number() over (order by p.[ID] desc) as rowId,p.*,c.* from [ceb_Article] p <em>left</em> <em>join</em> [ceb_Channel] c on p.[ClassID] = c.[ID] where p.[Hot] = 1rn) as t where rowId between 21 and 40rn[/code]rnrn因为表[ceb_Article]和表[ceb_Channel]中都有一个ID,所以这个SQL语句会提示为表t创建了多个ID列,请问如何解决?rn不需要直接选择需要列这样的解决方法!rnrn谢谢!
多个left join执行顺序
1. 求教多个<em>left</em> <em>join</em> 怎么执行 rneg:rn select * from a <em>left</em> <em>join</em> b on a.abid = b.baid <em>left</em> <em>join</em> c on c.cbid = b.bcid rnrn2.多个<em>left</em> <em>join</em>连接,记录条数是不是主表的条数 rneg rn select * from a rn <em>left</em> <em>join</em> b on a.abid = b.baid rn <em>left</em> <em>join</em> c on c.cbid = b.bcid rn ...rn没有where语句 那么查询出来的结果集条数是不是等于a的记录条数
请教:left join
rn[code=SQL]rn--测试数据rnCREATE table t1 (Id_1 int primary key identity,ch_1 varchar(20))rninsert into t1rnselect '0123' unionrnselect '1124' unionrnselect '1125' unionrnselect '1126' unionrnselect '2012-1127'rninsert into t1 values ('2012-1127')rnCREATE table t2 (Id_2 int primary key identity,ch_1 varchar(20),ch_2 varchar(20))rninsert into t2rnselect 'SP1204001','1124' unionrnselect 'SP1204002','1126' unionrnselect 'SP1204003','1125' unionrnselect 'SP1204004','2012-1127'rnselect * from t2rn<em>left</em> <em>join</em> t1 on t2.ch_2=t1.id_1rnrn--结果rnrn服务器: 消息 245,级别 16,状态 1,行 1rn将 varchar 值 '2012-1127' 转换为数据类型为 int 的列时发生语法错误。rn[/code]
left join 缺省值
<em>left</em> <em>join</em> 缺省值 如果为空时 设置为某个表的某个值,有id关联
left join 拆解疑问
方式一:(z_ZhangBiaoDetail 中间表)rnselect a.iow_id,a.inv_code,a.batch_no,a.price,a.amount,a.out_iow_no,a.sell_money,a.sell_price ,a.store_code,b.brief,b.iow_no,b.in_out_date,b.year_month,b.is_in_out,bus_type_code,b.patient_name,b.dept_code,b.confirm,b.state,b.hospital_norninto z_ZhangBiaoDetail rnfrom mate_whr_detail arn<em>left</em> <em>join</em> mate_whr_main b rnon a.iow_id=b.iow_idrnrnselect sum(isnull(d.amount*d.price,0)) AS y_money,sum(isnull(d.amount,0)) AS in_amount rnfrom z_ZhangBiaoDetail d rnwhere d.store_code = '01' rnand d.year_month='201209' rnand not inv_code is null rnand d.is_in_out=0 and (d.state=3 or d.state=4)rn-----------------------------------------------------rn方式二:rnselect sum(isnull(d.amount*d.price,0)) AS y_money,sum(isnull(d.amount,0)) AS in_amount rnfrom mate_whr_detail drn<em>left</em> <em>join</em> mate_whr_main m rnon d.iow_id=m.iow_idrnwhere m.store_code = '01' rnand m.year_month='201209' rnand not inv_code is null rnand m.is_in_out=0 and (m.state=3 or m.state=4)rnrn-----------------------------------------------------rnrn方式一要怎么修改才能得到方式二的查询结果??z_ZhangBiaoDetail 中间表必须保留,作为多个查询的参考表,请教给位。。。。。。。
left join
表A rnid A1 A2 A3rn1 a11 sad sfdrn2 2fg 23k 2edrn3 lsd 0j0 lk2rnrn表Brnid Aid B1 B2rn1 1 0ik -k[rn2 1 okd kl3rn3 2 kle lwern4 3 lkd lk3rn5 3 lk3 lkdrn6 3 lkw lkjrnrnrnselect a.*,b.B1 from A arn<em>left</em> <em>join</em> B as b on a.id = b.Aidrnrn我要得到rnid A1 A2 A3 B1rn1 a11 sad sfd okdrn2 2fg 23k 2ed kle rn3 lsd 0j0 lk2 lkw
left join 的怪问题
select com_1860_id,com_1860_proj_id,com_1860_yn_audit1,com_1860_yn_audit2,rn com_1860_yn_audit3,com_1860_yn_resol,rn com_1860_yn_recall,rn com_1860_reason,com_1860_yn_withproj,rn project_yn_finish,com_1860_item_classrn from complaint_1860 rn <em>left</em> <em>join</em> project on( com_1860_id='A000001' and project_id=com_1860_proj_id )rnrn上面这句SQL产生多条记录,记录的条数与complaint_1860 表中的数量一样,rn而下面这句SQL却只产生一条记录,这让我很不解,这是为什么啊?两句就差了一个"<em>left</em>",说明一下,project_id和com_1860_id均为主键,rn但com_1860_proj_id字段则不唯一rnrnrnselect com_1860_id,com_1860_proj_id,com_1860_yn_audit1,com_1860_yn_audit2,rn com_1860_yn_audit3,com_1860_yn_resol,rn com_1860_yn_recall,rn com_1860_reason,com_1860_yn_withproj,rn project_yn_finish,com_1860_item_classrn from complaint_1860 rn <em>join</em> project on( com_1860_id='A000001' and project_id=com_1860_proj_id )
问题left outer join
declare @a table(id int,[11] varchar(20))rninsert into @a select 1,'eee'rninsert into @a select 2,'www'rninsert into @a select 3,'ddd'rninsert into @a select 4,'eee'rnrndeclare @b table(id int,aa varchar(20),bb int)rninsert into @b select 1,'tt',5rninsert into @b select 2,'rr',3rninsert into @b select 5,'hh',1rnrnselect rn a.id,a.[11],b.aa,b.bb rnfrom rn @a arn<em>left</em> outer <em>join</em> rn @b b 1111rnon rn a.id=b.id rnwhere rn a.[11] ='eee' 222 and b.bb > 2rn中 and b.bb > 2放在1111这个位置和 2222这个位置怎么执行的结果不一样?rn不知道是什么原因
求救~left join的问题
字段太多就不一一说明,简单说明一下rnrn表 t_thesisrnrn字段:thid,title,statusrnrnrn数据:rn1 qqq 1rn2 eee 1rn3 rrr 0rnrn表t_th_sturnrn字段:thid,sidrnrn数据:rn1 32rnrnrn需求: 输出status为1的所有数据,不再t_th_stu中的数据为空或者0;rn 结果: thid title sidrn 1 qqq 32rn 2 eee 0rn rn我的语句:rn[code=sql]select * from (select t_thesis.thid,t_thesis.title,ISNULL(t_th_stu.tid,0) as Sid,ROW_NUMBER() over (order by t_thesis.thid asc) as num from t_thesis <em>left</em> <em>join</em> t_th_stu on t_thesis.thid=t_th_stu.thid and t_thesis.status=1) as thesisrnrnwhere thesis.num between 1 and 10;[/code]rn我的问题:rn为啥我加了条件(t_status=1),却不管用。总是会输出全部数据。rnrn运行结果:thid title sidrn 1 qqq 32rn 2 eee 0rn 3 rrrr 0rnrnrn谢谢大家解答!
left join是什么意思???????
select A.* rn from table1 A <em>left</em> <em>join</em> table2 B rn on A.ID=B.IDrn where A.ID= '125632'rn请问这是什么意思?
关于hibernate的left join
我有表1 user 表2 userinfo rnuser表中有3行数据 userinfo 有2行数据 关联外键了rnrnString hql="select u from TUserinfo as ui <em>left</em> <em>join</em> ui.TUser as u "; rnrn为什么<em>只能</em>查到两表都有的数据,rn而user表中 未关联的一行数据查不到,rnrn是否是我配置文件有错?rnrnrn rn rnrnrnrn rn rn rn rn rn
left join 语句的困惑
使用如下语句打开表:rn select B.部门,A.* from 人员表 A <em>left</em> <em>join</em> 部门表 on A.部门ID=B.部门IDrn当在这个表上删除记录时,如删除部门ID=1的记录,会把部门表中部门ID为1的记录同时删除!为什么会这样?如何避免?rn请高手帮助!谢谢
left outer join 问题
arn---rnid 11rn1 eeern2 wwwrn3 dddrn4 eeernrnbrn----rnid aa bbrn1 tt 5rn2 rr 3rn5 hh 1rnrnselect a.id,a.11,b.aa,b.bb from a <em>left</em> outer <em>join</em> b rnon a.id=b.idrnwhere a.11 ='eee' rnand b.bb > 2 rn可以这样写吗,结果是什么?rn是rn1 eee tt 5rn4 eee null null这样吗.rn想这个<em>left</em> out b 这个b表中的限制条件能写在WHERE 中吗?这个我不是很明白,A的条件的?
mysql left join 优化
1.一些简单sql调优n 2.复杂sql的调优
数据库SQL实战》两次left join
<em>数据库</em> <em>left</em> <em>join</em>
多表链接 Left join
http://www.cnblogs.com/windamy/articles/585555.html 多表链接 Left <em>join</em> 一个我写的实例:其中多表连接,一共连接了3个表。使用聚集函数SUM,用到了GROUP BY SELECT a.[UserID],b.[Name],sum (c.[Money]+c.[Bank])as TotalMoney FROM T
left join怎么拆分
比如这个sql语句rn$sql='select n.*,c.* from tb_news as n <em>left</em> <em>join</em> tb_news_cate as c on(n.cateid=c.cateid) order by id desc limit 0,5';rn要怎么拆,感觉<em>left</em> <em>join</em>效率不是很高rn但是也有人说这样比拆出来效率高rn那先不说效率,这个要怎么拆
oracle 的外连接 left join
<em>数据库</em>里面有两张表 A表100W,B表20W,sql语句是[code=sql] select coun(1) from A <em>left</em> <em>join</em> B on a.id = b.id [/code] 查询结果执行10秒 rn 后面在写一条 [code=sql]select count(1) from B inner <em>join</em> A on B.id = A.id[/code] rn查询结果只需0.几就出来了 给我的感觉就是第一条没用到索引 为什么会出现这种情况?rn如果直接用 [code=sql]select count(1) from A ,B where a.id = b.id[/code] 执行效果和第二条差距不大.rn 我以前主要是在sqlserver上面开发,现在突然发现在oracle上执行一样的语句效率还要低些,现在大多数sql语句都是用的外连接,杂办?难道只有改代码?
Left Join问题
SELECT t.EmployeeID, isnull(sum(t1.value),0) as c1, rnisnull(sum(t2.value),0) as c2 ,rnisnull(sum(t3.value),0) as c3rnrnFROM EMPLOYEE t <em>left</em> <em>join</em> Table1 t1 on t1.EmployeeID=t.EmployeeID rnand t1.type=10 and t1.flag=1 rn<em>left</em> <em>join</em> Table1 t2 on t2.EmployeeID=t.EmployeeID rnand t2.type=11 and t1.flag=1 rn<em>left</em> <em>join</em> Table1 t3 on t3.EmployeeID=t.EmployeeID rnand t3.type=11 and t3.flag=1 rnrnWhere t.cid=110 rngroup by t.EmployeeID rnorder by t.EmployeeID rnrn现在结果 rnemployeeid c1 c2 c3rn1 10 100 200rn2 12 200 300rn3 10 100 400rnrnrn而正确结果是rnemployeeid c1 c2 c3rn1 10 50 100rn2 12 100 150rn3 10 50 200rnrnrn就是第1个字段SUM的字段正常 后面的都是翻了1倍rnrn
left outer join问题
a : b:rnID mark ID DATArn1 44 1 43 rn2 2 2 34 rn3 43 3 3 rn4 43 5 42 rn5 5 5 77 rn6 34 5 34 rn7 32 9 23 rnselect * from a <em>left</em> outer <em>join</em> b on a.id=b.id and mark>10出来的结果让我奇怪.rnid mark id DATArn1 44 1 43 rn2 2 NULL NULL rn3 43 3 3 rn4 43 NULL NULL rn5 5 NULL NULL rn6 34 NULL NULL rn7 32 NULL NULL rn要and 改成where才是想要的结果..为什么啊...搞不明白了.谁帮我讲解下.
left join 条件
<em>left</em> <em>join</em>rnonrn条件是个判断rnon ( case when vm.invcode<>'' then bom.invcode=vm.invcode else bom.invcode=sa.cinvcode end)rnrn这sql应该怎么写
left join 的问题
两个问题。。。第一个,按照我的写法,AVG()里面两个值出错了(在包含外部引用的被聚合表达式中指定了多个列)rn第二个问题。。。能不能给改成 <em>left</em> <em>join</em> 的写法rnrnrn[code=SQL]SELECT A.F_GSID,a.f_datern ,F_0026=(SELECT COUNT(*) FROM C1T13 m WHERE m.F_GSID= a.F_GSID AND m.F_SJRQ= CAST(A.F_YEAR AS varchar)+'1231')rn ,F_0027=(SELECT AVG(LEFT(a.F_YEAR,4)-m.F_1002) FROM m..C1T13 m WHERE m.F_GSID= a.F_GSID AND m.F_SJRQ= CAST(a.F_YEAR AS varchar)+'1231' AND m.F_1002>1900 AND m.F_1002<9999)rnfrom rnC1T05 a [/code]rnrnrn
关于left join on 的问题
[b]select * from a <em>left</em> <em>join</em> b on a.id=b.uid where a.id>2[/b]rn和rn[b]select * from a <em>left</em> <em>join</em> b on a.id=b.uid and a.id>2[/b]rn有什么区别?rn求大神指点[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/32.gif][/img]
hibernate的left join on问题
我有2个表,一个shop 还有一个shopcoupon 2者一对多关联关系,shop里面有2个数据,shopcoupon有且只有一条数据对应shop表,我用<em>left</em> <em>join</em> on 语句查询数据,按理说应该返回2条数据吧?,但是只返回了1条数据,而且好像还是2个对象类型的,我打印出来时2个实体对象类型的,是怎么回事啊?rn相关代码:rnshop.hbm.xmlrn-------------------------------------rnrnrnrnrn rn rn rn rn rn rn rn rnrn 。。。。中间省略了一些rnrn rn rn N-新建, A-已审核, S-暂停, D-已删除rn rn rn rn rn rn rn rn rn rn rnrn-----------------------------------rnshopcoupon.hbm.xmlrn-----------------------------------rnrnrnrnrn rn rn rn rn rn rn rn 0-禮品rn rn rn 。。。中间省略了一些rn rn rn rn rnrn----------------------------------------------------------rnshop------------实体类rn-------------------------------------------rnpackage com.<em>join</em>t.<em>join</em>t_ddw.entity;rnrnimport java.util.HashSet;rnimport java.util.Set;rnrnrnpublic class DdwShop implements java.io.Serializable rnrn // Fieldsrnrn private Integer shopid;rn private String shopname;rn private String phone;rn private String address;rn private String email;rn private String website;rn private String reArchitecture;rn private String shopinfo;rn private String hours;rn private String recommend;rn private Short chargeMod;rn private String spending;rn private Integer uid;rn private String reason;rn private String buslines;rn private String ifPark;rn private String ifBox;rn private String ifTakeaway;rn private String ifSupper;rn private String ifWirelessnet;rn private Integer areaid;rn private Integer regionid;rn private String shopimg;rn private Integer shopgrade;rn private String dishesid;rn private String shoptypeid;rn private Integer rate1;rn private Integer rate2;rn private Integer rate3;rn private Integer rate4;rn private Integer rate5;rn private Integer rate6;rn private Integer view;rn private String status;rn private String mapaddress;rn private Set shopcoupons=new HashSet();rnrn //省略get,set方法rnrn-------------------------------------rnshopcoupon-----实体类rn-------------------------------------rnrnpackage com.<em>join</em>t.<em>join</em>t_ddw.entity;rnrnimport java.util.Date;rnrn/**rn * DdwShopcoupon entity.rn * rn * @author MyEclipse Persistence Toolsrn */rnrnpublic class DdwShopcoupon implements java.io.Serializable rnrn // Fieldsrnrn private Integer couponid;rn private Integer shopid;rn private Integer classid;rn private Integer price;rn private String title;rn private String content;rn private String couponimg;rn private String logistics;rn private Date postdate;rn private Date expirydate;rn private String discount;rn //省略get,set方法rnrn-------------------------------------------rn方法rn------------------------------------rnpublic List findShopSearch()throws Exception rn rn String sql="from DdwShop s "rn +"<em>left</em> <em>join</em> s.shopcoupons sc where ";rn rn return ddwShopDao.findShop(sql);rnrn--------------------------------------------rn调用rn--------------------------------------------rn List oldList=ddwShopService.findShopSearch();rn rn rn for (int i = 0; i < oldList.size(); i++) rn System.out.println("-------------------");rn Object[] oldObj=(Object[])oldList.get(i);rn for (int j = 0; j < oldObj.length; j++) rn System.out.println(oldObj[j]);rn rn rn-------------------------------rn打印结果rn-------------------------------rnHibernate: rn selectrn ddwshop0_.shopid as shopid16_0_,rn shopcoupon1_.couponid as couponid17_1_,rn ddwshop0_.shopname as shopname16_0_,rn ddwshop0_.phone as phone16_0_,rn ddwshop0_.address as address16_0_,rn ddwshop0_.email as email16_0_,rn ddwshop0_.website as website16_0_,rn ddwshop0_.re_architecture as re7_16_0_,rn ddwshop0_.shopinfo as shopinfo16_0_,rn ddwshop0_.hours as hours16_0_,rn ddwshop0_.recommend as recommend16_0_,rn ddwshop0_.charge_mod as charge11_16_0_,rn ddwshop0_.spending as spending16_0_,rn ddwshop0_.uid as uid16_0_,rn ddwshop0_.reason as reason16_0_,rn ddwshop0_.buslines as buslines16_0_,rn ddwshop0_.if_park as if16_16_0_,rn ddwshop0_.if_box as if17_16_0_,rn ddwshop0_.if_takeaway as if18_16_0_,rn ddwshop0_.if_supper as if19_16_0_,rn ddwshop0_.if_wirelessnet as if20_16_0_,rn ddwshop0_.areaid as areaid16_0_,rn ddwshop0_.regionid as regionid16_0_,rn ddwshop0_.shopimg as shopimg16_0_,rn ddwshop0_.shopgrade as shopgrade16_0_,rn ddwshop0_.dishesid as dishesid16_0_,rn ddwshop0_.shoptypeid as shoptypeid16_0_,rn ddwshop0_.rate1 as rate27_16_0_,rn ddwshop0_.rate2 as rate28_16_0_,rn ddwshop0_.rate3 as rate29_16_0_,rn ddwshop0_.rate4 as rate30_16_0_,rn ddwshop0_.rate5 as rate31_16_0_,rn ddwshop0_.rate6 as rate32_16_0_,rn ddwshop0_.view as view16_0_,rn ddwshop0_.status as status16_0_,rn ddwshop0_.mapaddress as mapaddress16_0_,rn shopcoupon1_.shopid as shopid17_1_,rn shopcoupon1_.classid as classid17_1_,rn shopcoupon1_.price as price17_1_,rn shopcoupon1_.title as title17_1_,rn shopcoupon1_.content as content17_1_,rn shopcoupon1_.couponimg as couponimg17_1_,rn shopcoupon1_.logistics as logistics17_1_,rn shopcoupon1_.postdate as postdate17_1_,rn shopcoupon1_.expirydate as expirydate17_1_,rn shopcoupon1_.discount as discount17_1_ rn fromrn <em>join</em>t_ddw.ddw_shop ddwshop0_ rn <em>left</em> outer <em>join</em>rn <em>join</em>t_ddw.ddw_shopcoupon shopcoupon1_ rn on ddwshop0_.shopid=shopcoupon1_.shopid rn-------------------rncom.<em>join</em>t.<em>join</em>t_ddw.entity.DdwShop@1b258farncom.<em>join</em>t.<em>join</em>t_ddw.entity.DdwShopcoupon@140d415
Scrum管理的总结下载
Scrum管理的总结,简要说明了角色分配和一些流程,还有针对一家公司的会议安排 相关下载链接:[url=//download.csdn.net/download/rainwithvoice/2921983?utm_source=bbsseo]//download.csdn.net/download/rainwithvoice/2921983?utm_source=bbsseo[/url]
尺度不变特征提取\基于SURF的图像配准与拼接技术研究下载
本文基于SURF的图像配准与拼接技术研究,主要讲述尺度不变性特征 相关下载链接:[url=//download.csdn.net/download/yao_j1115/3626095?utm_source=bbsseo]//download.csdn.net/download/yao_j1115/3626095?utm_source=bbsseo[/url]
计算机网络下载
该ppt内容完全照应了andrewS.tanenbaum著 的计算网络一书 相关下载链接:[url=//download.csdn.net/download/lx408604016/3776292?utm_source=bbsseo]//download.csdn.net/download/lx408604016/3776292?utm_source=bbsseo[/url]
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合
我们是很有底线的