sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo construyo una consulta UNION con ORDER BY y GROUP BY en el generador de consultas de Kohana?

Las cláusulas aquí se aplican desde la primera consulta configurada en union() método, así que simplemente invierta dónde los está colocando:

$query1 = DB::select('p.name')
              ->from(array('person', 'p'))
              ->where('p.organization', 'LIKE', 'foo%')
              ->group_by('name')
              ->order_by('name')
              ->limit(10);

$names = DB::select('sh.name')
              ->union($query1, FALSE)
              ->from(array('stakeholder', 'sh'))
              ->where('sh.organization', 'LIKE', 'foo%')
              ->execute()
              ->as_array();

También puede eliminar ese ->limit(10) superfluo de $names ya que será ignorado y reemplazado por el de $query1 .