-1

基于如何合并这些 mysql 语句 ,我有以下工作 sql 语句:

SELECT *, max(DUP_NUMBER) as dup FROM table1 where  CONTACTS=1 GROUP BY FIELD_A ORDER BY date LIMIT 3

我正在使用 redbean ORM http://redbeanphp.com/finding_beans,它使用“bean”对象来表示行。我想使用一个名为 findAll 的特定方法,它要求关联的 sql 查询以 WHERE 关键字开头

$all = R::findAll('needle',' where $sql ');

这似乎不太可能,但我想我会问,考虑到这个约束无论如何都要将上面的整个查询重写为 WHERE SQL 子句。就像是:

" WHERE  max(DUP_NUMBER) as dup  where  CONTACTS=1 GROUP BY FIELD_A ORDER BY date LIMIT 3 "

“SELECT *”和“from table”由 R::findAll 处理。如果这是不可能的,我会用另一种方式来做。

提前致谢,

账单

4

1 回答 1

1

如果单击您引用的“查找 Bean”页面上的SQL 查询链接,您将在底部找到一个使用自定义查询检索 bean 的示例:

$sql = 'SELECT author.* FROM author 
        JOIN club WHERE club.id = 7 ';
    $rows = R::getAll($sql);
    $authors = R::convertToBeans('author',$rows);

因此,对于您的情况,它可能类似于:

$rows = R::getAll('SELECT *, max(DUP_NUMBER) as dup FROM table1 where  CONTACTS=1 GROUP BY FIELD_A ORDER BY date LIMIT 3');
$all = R::convertToBeans('needle', $rows);

假设'needle'是你的 bean 类型。

于 2013-04-10T16:18:21.393 回答