mysql V3.23中的嵌套select

mysql V3.23中的嵌套select,mysql,sql,nested,Mysql,Sql,Nested,我想在mysql V3.23中编写这个sql选择语句 select * from radacct where username in ( select username from radcheck where Attribute = 'max-weekly-session' ); 但是说 ERROR 1064: You have an error in your SQL syntax near

我想在mysql V3.23中编写这个sql选择语句

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

ERROR 1064: You have an error in your SQL syntax near 
'select username from radcheck where Attribute= 'max-weekly-session')' 
at line 1
在mysql V5中这是可以的,但在V3.23中我该怎么做呢?

试试这个:

select a.* 
from radacct a 
join radcheck b on a.username = b.username
where b.Attribute = 'max-weekly-session'
试试这个:

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

对子查询的完全符合标准的支持。在此之前,您必须使用联接和其他变通方法来实现相同的效果


请参阅子查询的完全符合标准的支持。在此之前,您必须使用联接和其他变通方法来实现相同的效果


请参阅MySQL版本<4.1中不提供嵌套选择

以下步骤将起作用

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

嵌套选择在MySQL版本<4.1中不可用

以下步骤将起作用

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

我需要类似的东西,但这里给出的所有解决方案都会导致一个bug,因为多个条目都是从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

我需要类似的东西,但这里给出的所有解决方案都会导致一个bug,因为多个条目都是从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

你真的还需要支持3.23吗?你真的还需要支持3.23吗?