Zend \ Db 2.8.2(DB2)中的异常加入

时间:2018-04-10 21:13:41

标签: zend-framework2 db2 zend-db db2-400

我似乎无法弄清楚如何使用Zend \ Db创建异常连接?

我看到内部,外部,左,右,右外部和左外部的显式support。但希望还有一种方法可以保留抽象。

是唯一的使用方式:

$db->query('Select * from...exception join....')

1 个答案:

答案 0 :(得分:1)

您可以使用外部联接模拟异常联接,其中缺少联接右侧的行。例如:

select a.id, a.description, b.name
  from table1 a
    left exception join table2 b 
      on a.id = b.id

相当于:

select a.id, a.description, b.name
  from table1 a
    left outer join table2 b 
      on a.id = b.id
  where b.id is null

我现在无法对此进行测试,但基于documentation,您应该可以执行以下操作:

$select = new Select();
$select->columns(array('id', 'description'));
$select->from(array('a' => 'table1'));
$select->join(
    array('b' => 'table2'),
    'b.id = a.id',
    array('name'),
    $select::OUTER
);
$select->where(array('b.id' => null));