求助:用inner查同一张表也无法查询到结果

lokamir9527 2018-02-10 11:22:43
select id ,c.ENDDATE,c.ROOTPID,c.TASKNAME
from tbs.tbs_fun_apprc c
where '990099' = c.ROOTPID group by TASKNAME order by C.ENDDATE ;

id , ENDDATE, ROOTPID, TASKNAME,
7012 2018-02-01 10:55:01 990099 法务
7013 2018-02-01 10:55:10 990099 风管
7014 2018-02-01 10:55:34 990099 出纳
7015 2018-02-01 10:55:52 990099 支付
7033 2018-02-01 13:09:09 990099 财务
7034 2018-02-01 13:09:17 990099 风管
7035 2018-02-01 13:09:24 990099 分管


select id ,c.ENDDATE,cc.ENDDATE ,c.ROOTPID,cc.ROOTPID,c.TASKNAME,cc.TASKNAME
from tbs.tbs_fun_apprc c
INNER JOIN
(select ENDDATE,ROOTPID,TASKNAME from tbs.tbs_fun_apprc group by TASKNAME ) cc on cc.ENDDATE = c.ENDDATE
where '990099' = c.ROOTPID order by C.ENDDATE;

id , ENDDATE, ROOTPID, TASKNAME,

如果使用inner join 后 理论上应该有相同的结果,但是却查不到数据,也没有报错,这是为什么
...全文
1137 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
严格文字描述下 要什么结果
  • 打赏
  • 举报
回复
mysql 严格貌似也会报错~
疯狂的疯 2018-02-11
  • 打赏
  • 举报
回复
select ENDDATE,ROOTPID,TASKNAME from tbs.tbs_fun_apprc group by TASKNAME
Group By 一个字段,前边查3个字段,其中两个还不是聚合函数,建议你去my sql板块去,这种写法,sql server会报错、
zjcxc 元老 2018-02-11
  • 打赏
  • 举报
回复
这又是 MySQL ? 如果是 sql server,第一个查询根本无法执行 如果真是 MySQL, 那么很容易解释,你的第一个查询,是明确查 '990099' = c.ROOTPID 的数据 而第2个查询中的子查询,是所有数据,所以无法保障子查询返回的 ENDDATE 是匹配外层查询 '990099' = c.ROOTPID 对应记录的 ENDDATE
二月十六 版主 2018-02-11
  • 打赏
  • 举报
回复
select id ,c.ENDDATE,c.ROOTPID,c.TASKNAME from tbs.tbs_fun_apprc c where '990099' = c.ROOTPID group by TASKNAME order by C.ENDDATE ; 不进行统计,然后用GROUP BY TASKNAME 没意义

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧