select A.VintageID,
VinID, COUNT(distinct Vintage),IsVintage
from VintageData as A
left join Vintage as B on
A.VintageID=B.VintageID
where A.IsShow='1'and Vintage BETWEEN '2007' AND '2011'
group by A.IsShow
order by Vintage desc
你的错误是:group by A.IsShow 这里只有字段: A.IsShow 但是你的select 里面 却有 A.VintageID,
VinID, IsVintage 等字段。
至于你说的怎么去除重复的数据:在left join连接之前就将要连接的数据distinct 一下就可以了
没环境,不知道出什么错,但是:
去重可以使用distinct,不用count,distinct效率高,也省得group by那么麻烦
排序order by xxx desc应该是没错的
不知道你这个语句哪里报错了?
分解成视图比较好。