select t.yjfk_id,t.fid,t.yhid,jlcjr yhxm,t.lxfs,t.jlcjsj,t.bt,t.nr,(select count(0) from epdm_yjfk where fid=t.yjfk_id) hfs
,(select jlcjsj from EPDM_YJFK where fid=t.yjfk_id and fid!='0' and rownum=1 order by jlcjsj desc) zhhfsjfrom EPDM_YJFK t where t.fid='0' and t.yhid='1003' order by jlcjsj desc
如上是个留言版的查询语句,要查出留言信息、留言的回复数、留言的最后回复时间和回复人。
留言和回复在一个表中,yjfk_id是主键,fid是父id,fid=0代表此留言是留言而不是回复。
如上红色部分报错,提示缺少右括号,红色部分为查询留言的最后回复时间(每条留言可多条回复,取最后回复时间)
------解决方案--------------------
你取最后回复时间错了,不是这样取,按下面的就可以了
- SQL code
select t.yjfk_id, t.fid, t.yhid, jlcjr yhxm, t.lxfs, t.jlcjsj, t.bt, t.nr, (select count(0) from epdm_yjfk where fid = t.yjfk_id) hfs, (select max(jlcjsj) from EPDM_YJFK where fid = t.yjfk_id and fid != '0') zhhfsjfrom EPDM_YJFK t where t.fid = '0' and t.yhid = '1003' order by jlcjsj desc
------解决方案--------------------