2011-03-17 42 views

回答

2

是的,因爲你可以在WHERE條件中使用子查詢。

使用數據定義從http://www.makumba.org/page/DataModelHowto,即company.Company了一套

suppliers = set company.Company 

,你可以這樣做

<mak:list from="company.Company c" where="(SELECT count(s) FROM c.suppliers s) > 0"> 
.... 
</mak:list> 

你也可以將此定義爲在MDD,例如功能作爲

hasSuppliers() { (SELECT count(s) FROM suppliers s) > 0 } 

,然後在你的< MAK使用它:列表>爲

<mak:list from="general.Company c" WHERE="c.hasSuppliers()"> 
.... 
</mak:list> 
+2

其實可以簡單地定義上面的例子會(在0.8版本.2.5至少)會導致錯誤。所以正確的做法是使用'WHERE =「(來自c.suppliers供應商的SELECT count(供應商))> = 1」'。換句話說,在子查詢之外進行比較。 – 2011-03-17 19:44:04

+0

謝謝,現在工作完美! – 2011-03-17 20:55:00

1

hasSuppliers()可以作爲

hasSuppliers(){exists(FROM suppliers s)}