Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erstelle ich eine UNION-Abfrage mit ORDER BY und GROUP BY im Abfragegenerator von Kohana?

Die Klauseln hier werden von der ersten Abfrage angewendet, die in union() eingerichtet wurde Methode, also kehren Sie einfach um, wo Sie sie einfügen:

$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();

Sie können dieses überflüssige ->limit(10) auch entfernen von $names da es ignoriert und durch das in $query1 ersetzt wird .