Zend中查询联盟的区别

时间:2014-06-05 10:41:03

标签: php mysql zend-framework

我想从两个子查询中获取'DISTINCT(ITEMS)',但它给了我一个错误。 也不能对每个查询应用distinct,因为表是不同的。

 $sql1 = $zdb->select()
        ->from($table1, array('id','items'))
        ->where('data    = ?', $arrData['data']);
    $sql2 = $zdb->select()
        ->from($table2, array('id','items'))
        ->where('data    = ?', $arrData['data']);
    $select = $zdb->select('DISTINCT(items)')->union(array($sql1, $sql2));

请事先帮助我

2 个答案:

答案 0 :(得分:0)

如果我没弄错的话,你可以试试这个:

$select = $zdb->select()->distinct()->union(array($sql1, $sql2));

答案 1 :(得分:0)

作为第二个参数,您可以传递Zend_Db_Select :: SQL_UNION或Zend_Db_Select :: SQL_UNION_ALL常量来指定要执行的联合类型。