当前位置: 代码迷 >> Sql Server >> sql 语句改错。解决办法
  详细解决方案

sql 语句改错。解决办法

热度:75   发布时间:2016-04-27 13:35:01.0
sql 语句改错。。。
select count(tm.ID) from dbo.T_Money as tm  
left join dbo.T_Item as ti on tm.ID =ti.ID
where ti.item ='AAA' and tm.[datetime] between '2012-03-01' and '2012-03-21') order by tm.ID DESC 

我想查的是两个时间之间的 数据 还有个条件就是 ti.item ='AAA' ,写出来就是查询不对,求高手,。。坐等,,晚上也登。。
最后等到的是查询出来的总条数。。。

------解决方案--------------------
SQL code
select count(*) from dbo.T_Money as tm     left join dbo.T_Item as ti     on tm.ID =ti.ID      where ti.item ='AAA' and tm.[datetime] between '2012-03-01' and '2012-03-21'        order by tm.ID DESC
------解决方案--------------------

SQL code
select count(*) from dbo.T_Money as tm     left join dbo.T_Item as ti     on tm.ID =ti.ID      where ti.item ='AAA' and tm.[datetime] between '2012-3-01' and '2012-3-21'        order by tm.ID DESC
------解决方案--------------------
SQL code
select count(*) from dbo.T_Money as tm     left join dbo.T_Item as ti     on tm.ID =ti.ID      where ti.item ='AAA' and(tm.[datetime] between '2012-3-01' and '2012-3-21')        order by tm.ID DESC
------解决方案--------------------
你这个count 就会返回一个值 无需加order by



SQL code
select count(tm.ID) from dbo.T_Money as tm   left join dbo.T_Item as ti on tm.ID =ti.IDwhere ti.item ='AAA' and tm.[datetime] between '2012-03-01' and '2012-03-21'
------解决方案--------------------
把你的left join 改成inner join 试试看
------解决方案--------------------
一个是ORDER BY的对象不在查询对象中吧
  相关解决方案