我的查询
def myQuery = PublicTraining.executeQuery("SELECT t.id, t.isSoldOut, t.course.ebPrice, t.offerPrice FROM PublicTraining t Where exists (from t.course.tracks AS tracks where tracks.id IN (1) )")
返回错误的多条记录
如果我将其更改为
def myQuery = PublicTraining.executeQuery("SELECT t.id FROM PublicTraining t Where exists (from t.course.tracks AS tracks where tracks.id IN (1) )")
它返回正确的结果集
为什么选择列会更改此处的结果集?
答案 0 :(得分:1)
两个查询都会返回多条记录。
由于您没有应用排序顺序,因此您无法预测订单。
第一个查询将返回4个元素的List列表,而第二个查询将只返回id值列表