私はこれに少し時間を費やしてきました。私の問題は、特定の条件と条件でドメインオブジェクトを戻すことです。grails findAll(条件またはexecuteQuery)
私は大きな自転車を持っています。車輪のサイズが類似した複数の自転車がある可能性があります。たとえば、私は5台のバイクを持つことができます:
はowner_id | bike | wheel | price | active | toolset | forLance
_________|______|_______|_______|________|_________|__________
15459 |liner | 12 | 100 | Y | null | H
15459 |larker| 15 | 150 | Y | null | H
15459 |jefro | 21 | 225 | Y | null | H
15459 |raz | 21 | 230 | Y | null | L
15459 |jynx | 21 | 295 | Y | null | P
私のクエリは、以下の非重複ホイールサイズと最低価格ですべてのバイクを取得します。
MySQLのクエリ:
select * from bike b
where b.owner_id = 15459
and not exists(select * from bike
where wheels = b.wheels AND price < b.price
and owner_id = b.owner_id) and b.active = 'Y';
結果は私のバイクを持つ行を与える:ライナー、larker、およびをjefro。
grails // groovyでこれと同等の方法がありますか? (ライナー、larkerを取得し、ドメインオブジェクトのリストにをjefro)
私のような構造を使用して試してみました:
def bikes = Bike.executeQuery(...)
or
def bike = Bike.findAll(...)
しかし、私は同様の構造でクエリを実行するように見えることはできません私が作ったMySQLスクリプト。
ありがとうございました!