2010-08-23 60 views
0

我希望寫這個SQL在MySQL v 3.23嵌套在MySQL v選擇3.23

select * 
    from radacct 
    where username in ( 
     select username 
      from radcheck 
      where Attribute = 'max-weekly-session' 
    ); 

選擇statment但說

ERROR 1064: You have an error in your SQL syntax near 
'select username from radcheck where Attribute= 'max-weekly-session')' 
at line 1 
在MySQL 5節這是確定

,但我怎麼能以V做3.23?

+1

你真的還需要支持3.23嗎? – 2010-08-23 12:14:31

回答

0

嵌套的選擇是不提供的MySQL版本< 4.1

下將工作

select radacct.* 
from radacct inner join radcheck on radacct.username = radcheck.username 
where radcheck.Attribute= 'max-weekly-session' 
1

試試這個:子查詢was added in 4.1

select a.* 
from radacct a 
join radcheck b on a.username = b.username 
where b.Attribute = 'max-weekly-session' 
0
select * 
from radacct ra 
inner join radcheck on ra.username = rc.username 
where rc.Attribute = 'max-weekly-session' 
0

我需要類似的東西,但這裏給出的所有解決方案引起的錯誤是radacct返回多個條目。我通過在radacct鍵上添加一個group by來解決這個問題。

select ra.* 
from radacct ra 
inner join radcheck rc on ra.username = rc.username 
where rc.Attribute = 'max-weekly-session' 
group by ra.Id