2013-08-08 14 views
5

hqlを使用して最初の行(または他の行だけで1つだけ)に参加することはできますか? HQLで最初の行にのみ結合する

select 
config.id, mg.modelGroupName, min(deliveryType.id) 
from 
NotificationConfig config, NotificationConfigEntry configEntry, SettlementModelGroup mg 
join 
configEntry.notificationConfigEntryPK.user user 
join 
configEntry.notificationConfigEntryPK.deliveryType deliveryType 
join 
config.notificationType notifType 
join 
notifType.objectType objectType 
where 
config.id = configEntry.notificationConfigEntryPK.notificationConfig.id 
and (mg.modelId = config.objectId or config.objectId is null) 

この

min(deliveryType.id) 

は動作しませんもちろん、今の私がいるコードです。 mg.modelIdとconfig.objectIdの関係はマップされておらず、deliveryTypeはリストです。私はdeliveryTypeで注文する必要がある(これは意味をなさないが、とにかくそれを作る必要がある)とmodelGroupNameという別個の原因を使用することはできません。

答えて

0
 
select 
config.id, mg.modelGroupName, deliveryType.id 
from 
NotificationConfig config, NotificationConfigEntry configEntry, SettlementModelGroup mg 
join 
configEntry.notificationConfigEntryPK.user user 
join 
configEntry.notificationConfigEntryPK.deliveryType deliveryType with deliveryType.id = (select min(id) from configEntry.notificationConfigEntryPK.deliveryType) 
... 
関連する問題