[Dbix-class] Query problem
Kenneth S Mclane
ksmclane at us.ibm.com
Mon May 14 19:26:43 GMT 2012
I have gone through all that, tried a bunch of different ways of going at
it and still can't get the results I need. If these docs had actual
explanations of what it is doing and why and how I would have a much
better time of it. There are so many huge areas where they just drop code
on the page and walk away expecting that you already understand what they
were thinking when they wrote it. While the correlated subqueries section
seems to be on the right track, the example doesn't do what I need and
there is no real expansion of the idea/methodology. It amazes me that
nobody has ever needed a total of rows in one table based on a key from
another table. It is very simple in raw sql, but I cannot even get that to
work in DBIx::Class.
From:
"Daniel J. Luke" <dluke at geeklair.net>
To:
"DBIx::Class user and developer list" <dbix-class at lists.scsys.co.uk>
Date:
05/14/2012 02:14 PM
Subject:
Re: [Dbix-class] Query problem
On May 14, 2012, at 2:21 PM, Kenneth S Mclane wrote:
>
> my $rs = $c->model('ORANGES::Account')->search_rs(undef, {
> join => { servers => 'subs' },
> select => [ { count => 'subsystem_id' } ],
> as => [ qw/ num_subs / ],
> group_by => [ qw/ account_code subs.server_id
server_name server_type os_name / ],
> rows => 15,
> page => $page,
> order_by => ['account_code', 'server_name'],
> });
>
> But the SQL looks like it is getting closer to what I need:
>
> SELECT
> s.server_id,
> a.account_code,
> s.server_name,
> s.server_type,
> s.os_name,
> (select count(*) from server ss, subsserystem sb
> where ss.server_id = sb.server_id
> and ss.server_id = s.server_id) as num_subsystems
> FROM
> account a,
> server s
> WHERE
> and a.account_id = s.account_id
> order by a.account_code, s.server_name"
>
> I have exhausted all the docs I can find
Does this help?
http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/Manual/Cookbook.pod#Subqueries
I also found reading through the actual DBIx::Class (and SQL::Abstract)
code illuminating when first looking at using DBIx::Class for some stuff.
> and if I can't get this count of subsystems relater to servers to work I
will have to dump this as a feasible development platform.
you know you can use strait SQL with DBIx::Class too if you need to
(although it's better if you don't):
http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/Manual/Cookbook.pod#Arbitrary_SQL_through_a_custom_ResultSource
> I'm really hoping someone can come up with a concrete answer to do this.
This is one of those things never addressed directly in any of the docs.
If I had a example to work with I could figure it out, but I'm flying
blind here.
There's not always an easy example that just shows you what you need to do
- sometimes you have to understand how things work instead of just
copy+paste+modify...
--
Daniel J. Luke
+========================================================+
| *---------------- dluke at geeklair.net ----------------* |
| *-------------- http://www.geeklair.net -------------* |
+========================================================+
| Opinions expressed are mine and do not necessarily |
| reflect the opinions of my employer. |
+========================================================+
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive:
http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20120514/f4f47528/attachment-0001.htm
More information about the DBIx-Class
mailing list