SELECT rol_id, display_name, sum(if(u.user_id = 2, 1, 0)) some_user
FROM app_role a LEFT JOIN user_role u USING(role_id)
HAVING some_user = 0
HTH
On 5/16/06, luke saunders <[EMAIL PROTECTED]> wrote:
On 5/16/06, Dan Horne < [EMAIL PROTECTED] > wrote:Hi All
I'm trying to figure out how to perform subqueries with DBIx::Class. For
example, I want to find all the roles that user 2 hasn't been assigned.
The standard SQL is
select role_id, display_name
from app_role a
where not exists
(select 1
from user_role u
where u.user_id = 2
and u.role_id = a.role_id);
What would the DBIx::Class equivalent be?
Regards
Dan Horne
Hi Dan,
Sadly subselects like this aren't possible with DBIC at the moment.
It's definitely on the TODO list, I guess Matt will be able to tell you roughly when it'll be ready. Until then you'll have to find a way of doing it that doesn't require the subselect.
Cheers,
Luke.
_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
_______________________________________________ List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class Wiki: http://dbix-class.shadowcatsystems.co.uk/ IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/