【发布时间】:2011-11-21 14:46:45
【问题描述】:
我有一个使用子查询的 CakePHP 查询。虽然我找到了向我展示如何在 Cake 中使用子查询作为条件的文档,但我还没有找到将子查询用作表的方法。
换句话说,我想表达的是这样的:
SELECT `Status`.`name`,
COUNT(*) as total_count,
COUNT(NULLIF(over_one_year, 0)) as over,
COUNT(NULLIF(over_one_year, 1)) as under
FROM (
SELECT ((YEAR('##some date##') - YEAR(COALESCE(start_date, '1900-01-01'))) -
(RIGHT(DATE('##some date##'), 5) < RIGHT(COALESCE(start_date, '1900-01-01'), 5))
>= 1) as over_one_year,
status_id FROM `users` WHERE `user_id` IN (##some list of ids##)) as User
LEFT JOIN `statuses` AS `Status` ON (`User`.`status_id` = `Status`.`id`)
GROUP BY id;
在蛋糕里。
还有希望吗?
【问题讨论】: