【问题标题】:CakePHP select from subquery (SELECT foo from SELECT(...))CakePHP 从子查询中选择 (SELECT foo from SELECT(...))
【发布时间】: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;

在蛋糕里。

还有希望吗?

【问题讨论】:

    标签: cakephp subquery


    【解决方案1】:

    我认为这超出了 cakephp 的 ORM 功能,或者不值得花时间了解它如何使用它。 你甚至可以使用 $this->Model->query() 方法(http://book.cakephp.org/view/1027/query)或者至少它仍然是 php,只需编写自己的类或函数来进行特殊查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 2019-07-22
      • 1970-01-01
      • 2022-01-22
      • 2011-04-10
      • 2022-12-07
      • 2018-10-07
      相关资源
      最近更新 更多