Zend_Db_Select でFROM句に副問合せ(subquery)

すごい迷ったのでメモ。


$selectA = $db->select()
->from(array('u' => 'user'), 'name')
->where('u.id >= 5');

$selectB = $db->select()
->from(array('u' => 'user'), 'name')
->where('u.id < 5');
$sqla = $db->select()->union(array($selectA, $selectB));

$select = $db->select()
->from(
array('u2' => $sqla),
array('cnt' => 'COUNT(*)')
);;

echo $select->__toString().'
';


出力SQL

SELECT COUNT(*) AS "cnt"
FROM (SELECT "u"."name"
FROM "user" AS "u"
WHERE (u.id >= 5) UNION
SELECT "u"."name"
FROM "user" AS "u"
WHERE (u.id < 5)
) AS "u2"
スポンサーサイト

トラックバック

コメント

コメントを残す

Secret


プロフィール

U2K

Author:U2K
いろいろプログラムに関しての覚え書きをちょくちょくと書いていきます。

オススメ










オススメ

忍者AdMax

u2k on Twitter

最近の記事