我有以下查询
select Obj.regcode,count(*)
FROM dbo.Objecten Obj
INNER JOIN dbo.Dossiers Dos ON obj.objectnr=Dos.objectnr
WHERE Dos.plan_gereed between '2014-01-01' and '2014-02-01'
group by obj.regcode having count(*) > 1工作很好,它加起来,只显示那些有多个正则代码的。
现在我想再把它们分开,这样我就可以查看哪些文档与正则代码组合在一起。(我需要先对它们进行分组,然后才能确定在所定义的时间段内多次使用哪些重新编码)
所以我想我的问题应该是这样的:
SELECT obj.regcode, Dos.dossiernr
FROM dbo.objecten obj,
dbo.Dossiers Dos
WHERE obj.regcode IN ( select Obj.regcode,count(*)
FROM dbo.Objecten Obj
INNER JOIN dbo.Dossiers Dos ON obj.objectnr=Dos.objectnr
WHERE Dos.plan_gereed between '2014-01-01' and '2014-02-01'
group by obj.regcode
having count(*) > 1 )
AND obj.objectnr=Dos.objectnr但是这个错误是这样的:
当子查询未引入EXISTS时,只能在select列表中指定一个表达式。
有人能帮我吗?
提前感谢
发布于 2014-04-10 08:56:28
只需从IN选择检查中删除计数(*)即可
SELECT obj.regcode, Dos.dossiernr FROM dbo.objecten obj, dbo.Dossiers Dos WHERE obj.regcode IN ( select Obj.regcode FROM dbo.Objecten Obj INNER JOIN dbo.Dossiers Dos ON obj.objectnr=Dos.objectnr WHERE
Dos.plan_gereed between '2014-01-01' and '2014-02-01' group by obj.regcode having count(*) > 1 ) AND obj.objectnr=Dos.objectnrhttps://stackoverflow.com/questions/22982961
复制相似问题