子查询多列条件怎么出错?应该怎么写(50分)

  • 主题发起人 主题发起人 nettidy
  • 开始时间 开始时间
N

nettidy

Unregistered / Unconfirmed
GUEST, unregistred user!
在sql 2000 下:
select * from UnitPayPara_tab where (YearMonth,Unit_id)=(Select max(YearMonth) as YearMonth,Unit_id From UnitPayPara_tab group by unit_id)

提示信息:','号附近有错误
为什么呢
 
select * from UnitPayPara_tab where YearMonth in (Select max(YearMonth) as YearMonth From UnitPayPara_tab group by unit_id)
2000下不能用(YearMonth,Unit_id) = ()
或者(YearMonth,Unit_id) in ()
只能有一个参数
 
select * from UnitPayPara_tab a right join
(Select max(YearMonth) as YearMonth,Unit_id
From UnitPayPara_tab group by unit_id) b on a.YearMonth=b.YearMonth and a.Unit_id=b.Unit_id
这个可以用连接来做
 
接受答案了.
 
后退
顶部