0

こんなお問い合わせがあります

SELECT
  tableA.field1,
  SUM(tableB.field4) AS the_sum
FROM
  tableA 
  LEFT JOIN tableB ON tableA.field1 = tableB.field2
WHERE
  /* IN() for multiple possible vals. Use = if only 1 val needed
     and then the GROUP BY is unnecessary */
  tableA.field1 IN ('val1','val2',val3')
GROUP BY tableA.field1

休止状態で次のクエリを実装する方法?. また、現在のテーブルのオブジェクトとして値を返す必要があります。出来ますか?

4

1 に答える 1

0

クエリはほぼ同じです。

select a.field1, sum(b.field4) as the_sum
from EntityA a left join a.b
where a.field1 in ('val1', 'val2', 'val3')
group by a.field1

これは、a.field1 を b.field2 への外部キーとして使用する (またはその逆の) EntityA から EntityB への関連付けがあることを前提としています。そのような協会がなければ、それは不可能です。左結合は関連付けでのみ可能です。

于 2012-07-08T16:49:23.933 に答える