2012-01-29 5 views
0

私はテーブルにまとめたい:SQLは次のとおりです。agiletoolkitでUNION sqlを使用できますか?

select name, extract(DAY from fechaNacimiento) from alumno 
union 
select name,extract(DAY from fechaNacimiento) from asesor 

それはDSQL()またはDQ()文でそのクエリを使用することは可能ですか?

答えて

0

私はAgile Toolkitの著者であり、UnionModelの実装はAgile Dataの別のモジュールとして利用できるようになりました。拡張子を持つ

http://www.agiletoolkit.org/data/extensions/report

、あなたが名前/日のフィールドがクエリ上で生成するために定義されている「Alumno」と「Asesor」のモデルを持っていると仮定すると、あなたは、ドメインロジックに基づく連合モデルを構築することができます。

$union = new \atk4\report\UnionModel($db); 
$union->addNestedModel(new Model_Alumno()); 
$union->addNestedModel(new Model_Asesor()); 
$union->addField('name'); 
$union->addField('day'); 

結果モデルは読み取り専用ですが、どこでも完全に使用でき、グループ化、条件、制限をサポートし、必要なフィールドだけをクエリします。 「拡張の報告」使用せず


ソリューションは、手動でネストされたモデルからのクエリを合わせると、式の内部でそれらを置く伴うだろう:前4.4へのバージョンの

$expr = new \atk4\dsql\Expression(
    "select ... from ([] union [])", 
    [ 
     $m1->action('select', [$fields]), 
     $m2->action('select', [$fields]), 
    ] 
); 

サポートは今や時代遅れと考えられています。

+0

私はquickfixのために行った、正直言って、私はあなたの時間のおかげで、他の方法とは何をするか分からず、ATKのありがとう、すごいです! – mcanedo

関連する問題