2010-10-02 4 views
2

J'ai une question ci-dessous et je voudrais savoir s'il est possible d'obtenir plus d'un résultat. J'aimerais avoir les 4 entrées les plus récentes.Comment renvoyer plusieurs résultats dans une sous-requête SQL?

Merci!

select c.email,c.text,m.alertDataID 
from client_users as c, monitor_alerts as a, monitor_alerts_data as m 
where c.id=a.userID and a.alertID=m.alertID and 
m.alertDataID = (SELECT alertDataID FROM monitor_alerts_data ORDER BY alertDataID DESC LIMIT 1) 
LIMIT 4 

Répondre

5

Utilisation IN au lieu de =:

... and m.alertDataID IN (SELECT alertDataID FROM ...) 

Aussi ne limite pas votre sous-requête à LIMIT 1. Vous aurez besoin de LIMIT 4 dans la sous-requête.

+0

Ma version de mysql ne supporte pas la limite & in/all/any/some subquery ... D'autres idées? –

+0

N'utilisez pas de LIMIT du tout dans la sous-requête, limitez simplement votre jeu de résultats externe. PS. Quelle version de MySQL utilisez-vous? – wuputah

+0

Cela a fonctionné ... merci BTW J'utilise 5.0.51a-3 –

Questions connexes