In sql i am using union i don\'t know how to write it in zend db.
select m.*, 0 as is_shared from test m where user_id = $userId
union
select m.*,1 as is_sh
I don't know our sql is work. But it can make following code.
$userId = 10;
$email = 'bbsdf@sdf.sd';
$select1 = $db->select()
->from(array('m' => 'test'), array('*', '0 AS is_shared'))
->where('user_id =?', $userId);
$select2 = $db->select()
->from(array('m' => 'test'), array('*', '1 AS is_shared'))
->join(array('ms' => 'test_shares'), 'm.test_id = ms.test_id', '')
->where('ms.email_address =?', $email)
->where('m.url IS NULL');
$select = $this->select()
->union(array($select1, $select2))
->order('title');
echo $select; die;
/*SELECT `m`.*, `m`.`0` AS `is_shared`
* FROM `test` AS `m`
* WHERE (user_id =10)
* UNION
* SELECT `m`.*, `m`.`1` AS `is_shared`
* FROM `test` AS `m`
* INNER JOIN `test_shares` AS `ms`
* ON m.test_id = ms.test_id
* WHERE (ms.email_address ='bbsdf@sdf.sd') AND (m.url IS NULL)
* ORDER BY `title` ASC*/