SQL语句 两个表ORDER BY 两个字段,结果有问题 5C

一个总表,一个详情表,总表的单位和详情表的品目一起做组队。但是最后的结果里面还是有单个的结果,最后我也count(1)>1了为什么还是会有单条的语句呢?

********SQL*******
select * from gfm_gp_purplan_bill T where exists(
select p.agency_code,d.pur_item_code,count(1),sum(d.amount),sum(p.amount) from gfm_gp_purplan_bill p left join gfm_gp_purplan_detail d on p.purplan_id=d.purplan_id
where p.pur_met_code!='1' and p.status>=4 and p.is_valid=1 and p.type<=3 and p.is_preyear=0 and p.amount group by p.agency_code,d.pur_item_code
having sum(p.amount)>=2000000 and count(1)>1

);

5个回答

EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False

exists 只是一个结果判断,影响输入数据的范围,不会影响select * from gfm_gp_purplan_bill T 的输出 的数据结果

exists 只是判断是否存在,满足的话,就取记录,只要一笔即可;不满足,就不取。COUNT,GOUPY BY要放外面的。

exits 的运算规则是,从外层查询中拿到一行数据,进入到内层查询中进行判断,如果符合内层查询 也就是 符合exists的条件,那么就进行输出,否则不输出
详见 https://blog.csdn.net/qq_36437446/article/details/80636617

因为你exists 里面 没有关联t 少了t.字段=p.字段 如果还不行可以联系我qq434317590

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
【SQL语句】Order by 两个字段同时排序
小编最近在项目中用到了order by 字句排序,并且是根据两个字段排序,到网搜寻一翻,果然收获不少。    order by 可同时排序2个字段,字段中间用英文逗号可开。 1、f1用升序,f2用降序:    order by f1,f2 desc 或者也可以这样写:    order by  f1 asc, f2 desc 栗子: SELECT * FR
SQL语句两个字段同时order by 排序
目录 1.使用两个字段同时order by 排序 2.具体操作如下: 3.下面分别是几个不同排序查询的差异 1.使用两个字段同时order by 排序 sql支持多个字段进行order by排序,各字段之间用逗号”,”隔开。如: SELECT *FROM tablename order by column1,column2,column3 ; 如果...
两个表的sql语句??
在数据库的两个表中,字段都一样(一个是批发,一个是零售),怎么在一个sql中写出来显示它们两个的所有的值??
SQL语句order by两个字段同时排序问题
可能对不少网友来说非常简单,但是我觉得在一定程度上对我还是有些迷惑之处,下面就通过hibernate中的HQL语句来介绍下这类问题的效果。首先HQL语句代码:FROM Topic t WHERE t.id >2 ORDER BY t.type DESC,t.number DESC也可以按照下面的写法:FROM Topic t WHERE t.id >2 ORDER BY t.type,t.numbe
求sql 语句 order by 两个字段都是 datetime 的问题
请教一个sql语句rna 表中有两个字段 start_time, close_time 都是日期型 ,close_time里面有空值,start_time没有空值,rn求一个查询语句,start_time 最新的数据排在最前面同时close_time 为空的排在最前面, close_time不为空的最新的排在前面。rn形成这样的格式 ,谢谢rn2012-3-18 空rn2012-3-2 空rn2012-3-15 2012-3-4rn2012-3-4 2012-3-3rnrnrn
两个表的路径字段的比较的sql语句
求指定文件夹的所有父文件夹(包括所有祖先)rnrna表的路径字段值rn1rn1.1rn1.1.1rn1.1.2rn1.2rn1.2.1rn1.2.2rn1.3rn1.3.1rn1.3.2rn1.3.3rnrna表的路径字段值rn1.1rn1.2.1rn1.3rnrn求b表文件夹的所有父文件夹,rn得出结果就是:rn1rn1.2rnrn我写了一个sql,只是我的大体意思,但是不知道如何才能语法正确:rnrnselect pathrnfrom arnwhere path <> b.path and path not like '''%' + b.path + '%.''' rnrn
sql 两个表 中的 两个字段相减
两个 表 一个 是 a入库表 一个是 b出库表 两个表 里面 都有两个字段 商品名称 和数量 SQL 语句 如何写 出库表里面 a数量-b数量 最后显示 商品名称 和数量(两个数量相减后的)
sql 语句 两个字段的模糊查询
核心问题:比如某个字段的一条信息 SR801P5000 想找到 用一张表中的 SR801C5000,就只有 P和C不同rnrn这个该怎么办?rnrn全部提问题:一个表中 datetime 和 code 唯一确定一条信息,现在根据条件筛选出来了 code和 datetime ,想进而模糊匹配查询对应datetime下的另一个code的所有信息
IN 两个字段,sql语句如何写?
rnselect * from table where (id,title) in ((1,2,3),('好事','喜事'));rnrnOperand should contain 2 column(s)rnrn出错。rnrn自定义IN 两个字段,sql语句如何写?
一道两个字段的SQL语句
有一个表“水果供应商”rn字段1“供应商” 字段2“水果”rn两个字段共为主键rn数据库里的格式如下:rnA 苹果rnA 桔子rnB 苹果rnB 香蕉rn 。rn 。rn 。rn现在 A供应商 不干了rn求出 所有能替代 A供应商 的 供应商名单(既供应商A 能供应的所有水果,名单上的每一个供应商都能 独立供应)
SQL语句:两个表的查询问题 在线结分 救命...
数据库有两个表rnrnlog 表rnuser logrna ssssrnb ssssrnc ssssrnd ssssrnrnuser表中记录了会员资料(会员分两种,普通会员和高级会员.)rnid user r_userrn1 a 0rn2 b 1rn3 c 1rn4 d 0rnID字段是自动增加 user是用户名 r_user 是用户的上级IDrn这个表中 用户名a 是高级会员 用户名 b,c 是这个高级会员的下级会员 4也是高级会员无下级会员rnrnrn现在要的结果是:rn以高级用户作为关键字查询 log表rn要求列出 所有该高级用户下普通用户的操作记录rnrn晕啊 大家懂了没 我说不请了都rn
在两个表中order怎么搞?
一个a表字段 id count 一个表b id name time rnrn想按a表的count先排序,然后在按b的time排怎么写呢?谢谢
查询两个表的sql语句.
表1:id(自动编号),name(文本).rn表2:pid(文本,对应表1的id),odate(日期).rn要查询出表1的name和表2的odate.sql语句该怎么写?
SQL 语句 两个表筛选!
有连个表 T1 和 T2 都没有主键rnrnT1 有 A,B,C,D,E 列rnrnT2 有 B,C 列rnrn 我想在T1表里 筛出 T2表里的有的数据 条件就是 T1.B=T2.B and T1.C=T2.Brnrn[color=#FF0000]就是 T1表里面 没有T2表里面的数据[/color]rnrn请 高手帮忙 !! 谢谢!
SQL搜索两个表的语句
表1 NEWSrn字段rnTITLE ADDUSERrnrnrn表2 USERrn字段rnADDUSER UDJrnrnrn想搜索出所有UDJ=2的添加的NEWS文章
关于两个表的SQL语句!
我有两个表:表A和表B,表A中有,kdate,rzje,表B中有,jkdate,jkje,rnA:rnrn rzje kdatern 100.00 2009-05-12rn 200.00 2009-05-15rnB:rnrn jkje jkdatern 100.00 2009-05-11rn 50.00 2009-05-16rnrn查询后结果rnrn2009-05-11rn2009-05-12rn2009-05-15rn2009-05-16
两个表更新数据sql语句
A表(岗位,试卷,通过数量) //一个岗位对应多个试卷;rnB表(试卷,成绩)rnrn想得到:在A表里的通过数量=该岗位对应的试卷(成绩>60)的数量.rnrn下面的语句不对,正确的应该如何写呢?rnupdate A set 通过数量=(select count(distinct 试卷) from A,B where A.试卷=B.试卷 where B.成绩>60)rnrn谢谢!rnrnrnrn
两个表查询的sql语句
有两张表 Car 和driver rncar表的列id,driveraid,driverbid 因为有两个驾驶员 一个主驾 一个副驾rndriver表的列 id drivername rn查询的时候 要求查询的car表 显示的是 id drivername(主驾姓名)drivername(副驾姓名)rn求一个sql语句 我用的数据库是access rn在设计的时候 没有主外键关系,就是简单的 car.driveraid= driver.id 和car.driverbid=driver.idrn不是关系 driveraid!=driverbid
两个表 两个字段的读取问题
表A,字段 a 值为 1,2,3,4rn表B,字段 a 值为 1,1,2,2rn 字段 b 值为 b,b1,b2,b3rnrn我现在要读取:rnrn1 (b,b1)rnrn2 (b2,b3)rnrn3rnrn4rn rnrna字段中不能重复 要把 1234全读出来rnb字段是a字段对应的小类 1包含b和b1 2包含b2
关于order by 两个字段排序的问题?
如题:rn我有两个字段需要排序。rnrnSELECT * FROM job order by istj,fbtime descrn数据原为:rnrnfbtime istjrn2009-9-11 11:20 1rn2009-9-11 11:23 0rn2009-9-13 11:20 0rn2009-9-12 11:20 1rnrn我想得到的结果这个,但是用上面的语句不行,我哪儿错了,请问?rnrnfbtime istjrn2009-9-12 11:20 1rn2009-9-11 11:20 1rn2009-9-13 11:20 0rn2009-9-11 11:23 0rn
【请教sql语句】 两个表字段合并一个字段查询
rn A表: id,titlern B表: id, namernrn 想要的一个查询结果selectrnrn title, name 合并做一个字段,keyword, 然后好用 WHERE kewyord = 'xxxx' 这样查询。rnrn一般情况 是 rnrnSELECT [b]title[/b] FROM A WHERE [b]title[/b] = 'xxxx', rnrn或者 SELECT [b]name[/b] FROM B WHERE [b]name[/b] = 'xxxx',rnrn 想实现的结果是,有没有可能,把这两个语句合并, title 和 name 合并成一个 keyword 别名
两个字段值比较的sql语句问题!
我有两个字段f1,f2,分别存储了ip地址的起始值,和末尾值,rn如某条记录中f1为192.168.0.1和f2为192.168.0.11。rn我用delphi语言编程序,rn想从delphi里得到一个用户输入的ip如192.168.0.3,rn而后进行判断这个ip是否属于数据库中某条记录,rn如何进行判断?rn请高手指教,rn不胜感谢!
sql语句更新两个字段相加的问题
第一次来csdn,好兴奋的。请各位大虾们,不吝赐教!rn下面有一张表,暂且就叫test表吧,所有字段都是varchar2类型的。rn id mode1 mode2 mode3rn 01234 yeye123 yeye123 yeye123rn 01235 yeye234 yeye234 yeye234rn 01236 yeye456 yeye456 yeye456 rn 01237 yeye789 yeye789 yeye789rn 01238 yeye423 yeye423 yeye423rnrn我要把id字段里面的数据更新为id字段数据加上mode1字段的数据rn得出结果为:rn id mode1 mode2 mode3rn 01234yeye123 yeye123 yeye123 yeye123rn 01235yeye234 yeye234 yeye234 yeye234rn 01236yeye456 yeye456 yeye456 yeye456 rn 01237yeye789 yeye789 yeye789 yeye789rn 01238yeye423 yeye423 yeye423 yeye423rnrn用update语句怎么做出来....rn假如mode1有为null值的..rn
sql 语句的两个问题??
..............rn..............(rn SELECT MIN(日期) AS MinDay rn FROM tbl rn GROUP BY DATEDIFF(month, 0, 日期)rn ) M rn WHERE DATEDIFF(mm, DATEADD(dd, N.i, DATEADD(dd, 1-DAY(m.MinDay), m.MinDay)), M.MinDay)=0) AS Yrn ON tbl.[日期]=Y.日期rn有两个不明白的地方,一:datediff函数中的“0”指的是什么?二:在where 后面可以接非条件语句,rnDATEDIFF函数在此好象没有任何条件限制。rn附加问题:如果以知一个函数的表达式的值,要求其中一个参数的值要怎么写语句呢?rn譬如datediff(a,b,c)=d,b和d以知,要求c值,要怎么处理呢??rn请多指点!!!rn
order by 两个栏问题
Table:rn+-------+---------------------+-------+rn| id | modify_date | top |rn+-------+---------------------+-------+rn| 1 | 2008-04-02 16:51:40 | 0 |rn| 2 | 2008-04-02 16:51:40 | 0 |rn| 9 | 2008-04-02 19:19:04 | 1 |rn| 15 | 2008-04-08 17:54:11 | 0 |rn| 16 | 2008-04-08 16:19:07 | 0 |rn| 17 | 2008-04-08 16:19:11 | 0 |rn| 18 | 2008-04-08 16:19:17 | 0 |rn+-------+---------------------+-------+rnrnselect id, modify_date, top from tableA order by top and modify_date descrn这句只能order by top,但date就不是descrn+-------+---------------------+-------+rn| id | modify_date | top |rn+-------+---------------------+-------+rn| 9 | 2008-04-02 19:19:04 | 1 |rn| 1 | 2008-04-02 16:51:40 | 0 |rn| 42 | 2008-04-08 19:39:12 | 0 |rn| 41 | 2008-04-08 18:54:55 | 0 |rn| 27 | 2008-04-08 17:54:11 | 0 |rn| 26 | 2008-04-08 16:20:14 | 0 |rn| 24 | 2008-04-08 16:20:00 | 0 |rn| 23 | 2008-04-08 16:19:53 | 0 |rn| 22 | 2008-04-08 16:19:46 | 0 |rn| 21 | 2008-04-08 16:19:40 | 0 |rn| 20 | 2008-04-08 16:19:33 | 0 |rn+-------+---------------------+-------+rnrnrn请问怎样先排top 1,然后order by modify_date desc ?rn感谢
SQL 语句两个IN的问题
项目中碰到一个Sql,由于使用了两个IN 查询起来非常慢,请大侠们指教,不剩感激!!rnrnSELECT COUNT(*) FROM TBCOMPANY c WHERE c.FDCOMPANYID IN (SELECT FDCOMID FROM TBCOMPANYCON WHERE FDCONID IN (SELECT CONID FROM TBCONSULTANT WHERE FDCONSENAME LIKE '%fr%'))
两个sql语句问题
1、在sql server中如何使用if---else判断 IDENTITY_INSERT 属性是off还是on?写出一个sql语句rn2、在vb的ado中传一个sql串,其中包含 " ,怎样写才能将 " 也传到数据库锻?
一个从两个表中选取字段的SQL语句问题
表1中有 "ID" 字段 与 "Message"字段rnrn表2中有 "ID" 字段 与 "IDType"字段rnrn请问高手如何使用1句SQL语句从表1中选取出id=1的message字段的值,同时又从表2中选取出id=1的IDType的值? 谢谢!
两个关联表的更新的SQL语句问题?
我根据贴子 http://expert.csdn.net/Expert/topic/1177/1177632.xml?temp=.1271326 上的方法去做,为什么他老是说我 SQL command not properly ended???要不就是missing SET keyword,可是set我明明写了。谁能告诉我
一SQL语句查询两个表的问题
smallSql="Select InfoID,ChannelDir,title From Cl_Article Where instr(SpecialID,'"&AddStrRs("SpecialID")&"')>0 union Select InfoID,ChannelDir,PhotoName as title From Cl_Photo Where instr(SpecialID,'"&AddStrRs("SpecialID")&"')>0 Order By UpdateTime Desc"rnrn想让两个表都按UpdateTime倒序排序,提示"ORDER BY 表达式 (UpdateTime) 包含当前查询未选定的字段。只有第一次查询所包含的字段才可以包含在 ORDER BY 表达式中。"rn如果先在union前面的查询语句,不会出错,但举按时间倒序显示。
引用两个表的sql语句的问题
表 tab_user,字段名 username,有5条记录rnuser1rnuser2rnuser3rnuser4rnuser5rnrn表 tab_order,字段名orderNo,username,有3条记录rn0001 user2rn0002 user2rn0003 user3rnrnsql语句:rnselect distinct u.username,o.username from tab_user AS u, tab_order AS o where u.username=o.usernamernrn结果得到 user2,user3rnrn但是我现在想得到的是不包含的记录,即是想得到user1,user4,user5rn我试过将sql语句的条件改成 u.username!=o.username或u.username<>o.username结果得到的是表tab_user的全部记录。rn我想得到user1,user4,user5应该怎么写,我用的是mysql??
求sql语句[两个表分组的问题]
[code=SQL]rn两个表分组的问题rn需求:rn两个表rn tb1(进货)rn 编号 名称 型号 数量。。。rn 1 西瓜 大的 20rn 2 西瓜 小的 10rn 3 黄瓜 长的 15rn 4 西瓜 大的 20rn 5 黄瓜 短的 15rn 6 西瓜 大的 20rn 7 黄瓜 长的 15rn .rn .rnrn tb2(出货)rn 编号 名称 型号 数量。。。rn 1 西瓜 大的 15rn 3 黄瓜 长的 5rn 2 西瓜 小的 5rn 2 西瓜 小的 5rn 1 西瓜 大的 15rn 4 黄瓜 短的 5rnrn输出:rn 名称 型号 数量(进货) 数量(出货) 余数(进货-出货)rn 西瓜 大的 60 30 30rn 西瓜 小的 10 10 0rn 黄瓜 长的 30 5 25rn 黄瓜 短的 15 5 10rnrntb1,tb2的编号为主键rn[/code]
SQL语句查询两个表的问题?
在ADOQUERY1中的SQL属性设为:rnSELECT wlbm.wlbm, wlbm.mc, wlbm.gg, wlbm.alert, wlbm.bz , cpxx.dw, cpxx.dj, cpxx.djyl, cpxx.gysname rnFrom wlbm ,cpxx rnWHERE wlbm.wlbm = cpxx.wlbm rn通过DBGRID来显示这个查询,但CPXX表中的字段都不能修改,一修改CPXX表中的内容时,系统会提示"缺少更新或刷新的键列信息"rn如何才能在DBGRID中修改资料.
简单问题,两个表合并的SQL语句?
在数据库中有两个表各自都有日期时间字段,我想得到两个表中的按时间排序的所有记录。这样的SQL语句该怎么写??
sql语句的问题!?两个表的操作
2个表temp1,temp2.dbf; temp1.dbf不为空,temp2为空,但有表结构。rn 从temp1中取f1,和f2符合条件的字段存到temp2中。这样做行不行!?rn select f1,f2 from temp1 where f1 like '5%' and f2 like '6%'rn insert into temp2 (t1,t2) values ( , )rn 我就是这两句不知道怎么连起来成一句话??
两个表的SQL语句查询问题
一个库的两个表tab1,tab2中有两个字段同为name的记录,把tab2的中已有同tab1的 rnname的记录相同的结果查询出来的语句为:rn rnselect a.name from tab1 a,tab2 b where a.name=b.namern rn若把tab2的中没有tab1的name的记录查询出来的SQL语句应如何写,或者是否有 rn另外的方法? rn
SQL语句访问两个表,按照两个规则排序的问题
rn简单的描述我的问题:rn有2张表:表ID有两个字段 学号和姓名 ,表test有2个字段学号和科目和成绩rn每个人学的科目并不相同rn要用SQL语句实现一表 姓名 学号 科目 成绩 以姓名排序,姓名相同则以科目排序,试问如何实现rn
两个表字段合并问题
rn表1rn id 代码 名称 标识rn 1 001 aa 1rn 2 002 bb 1rn 3 003 cc 0rn 4 004 dd 1rnrn表2rn id 代码 名称 标识rn 1 01 ee 1rn 2 02 mm 0rnrn我想把两个表的标识字段为“1”合并成一个字段存储于另外的一个表中,想要这样的结果:rn 001 002 004 01 rn恳请各位帮忙。
两个表的字段相减
比如a,b表都有个字段c,我想让a表的sum(c)减去b表的sum(c)我是这样写的rnselct a.sum(c)-b.sum(c) as d from a,brn没有结果,不知是什么原因
两个不同的表,两个字段求和
我有两个表 rn第一个表是 cdb_membersrn字段 uid username credits rn 1 lootlo 172rn第二个表是 uchome_showrn字段 uid username creditsrn 1 lootlo 21rnrnrn我需要将这两个表的credits字段求和,然后这个值再返回到各自的字段。请问该怎么弄呢?rnrn另外,能不能在SQL实现定时执行该语句?
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件