2010-08-23 57 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