异常加入 Zend\Db 2.8.2 (DB2)
Exception Join in Zend\Db 2.8.2 (DB2)
我似乎无法弄清楚如何使用 Zend\Db 创建异常连接?
我看到内、外、左、右、右外和左外的显式 support。但希望仍然有办法保留抽象。
是唯一的使用方式:
$db->query('Select * from...exception join....')
您可以使用外部联接模拟异常联接,其中联接右侧的行缺失。例如:
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));
我似乎无法弄清楚如何使用 Zend\Db 创建异常连接?
我看到内、外、左、右、右外和左外的显式 support。但希望仍然有办法保留抽象。
是唯一的使用方式:
$db->query('Select * from...exception join....')
您可以使用外部联接模拟异常联接,其中联接右侧的行缺失。例如:
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));