このSQLクエリをPerl DBIx::Classコードに変換するにはどうすればよいですか?あなたは自動的に膨張しているかどうか、どのようにしてCOUNT、SUM、CASE、およびBETWEENを使用してこのSQLクエリをPerl DBIx :: Classに変換できますか?
my $rs = My::Schema->resultset('Students') #
->search({
status => 6,
grad_date => { 'between' => [ $start_dt, $end_dt ] },
});
my $num_grads = $rs->count();
my $num_employed = $rs->search({ employment_status => 1 })->count();
もちろん日時ビットがあなたのdatetimeフォーマットに依存します:
SELECT COUNT(*) AS num_grads,
SUM(CASE WHEN employment_status = 1 THEN 1 ELSE 0 END) AS num_employed
FROM students
WHERE status = 6 -- 6 means they graduated
AND grad_date BETWEEN Convert(datetime, ?) AND Convert(datetime, ?)
あなたはDBIx :: Classを意味しますか? –
はい、DBIx :: Classです。 – Justin