2012-07-15 26 views
1
SELECT au.* 
    FROM account au 
    WHERE au.id IN (
    SELECT fa.from_user_id 
     FROM approvals fa 
     WHERE fa.to_user_id = 1 
     GROUP BY fa.from_user_id 
    ) 
ORDER BY first_name ASC, last_name ASC 
LIMIT 0, 18446744073709551615; 

我该如何将此更改为EXISTS而不是IN()我如何将这个“SELECT IN”更改为MySQL的“EXISTS”查询?

+0

改变的原因是什么? – zerkms 2012-07-15 23:40:24

+1

在这个例子中你不需要使用'GROUP BY'。 – Neil 2012-07-15 23:54:31

回答

0
SELECT au.* 
FROM account au 
WHERE EXISTS (
    SELECT 1 FROM approvals fa 
    WHERE fa.to_user_id=1 
    AND fa.from_user_id = au.id 
) 
ORDER BY first_name ASC, last_name ASC LIMIT 0, 18446744073709551615; 
相关问题