0

テーブル 1 とテーブル 2 の 2 つのテーブルがあり、それらの関係は次のとおりです。

表 1 --> CaseNumber は PK | 作成日 | 変更日

表 2 --> ID は PK | CaseNumber は FK | 年

表 2 には、同じ CaseNumber のレコードが多数あります。以下についてお尋ねしたいと思います。

表 2 の CaseNumber ごとに、最小 Age を見つけます。例: 表 2 のすべてのレコードの最低年齢を見つけます。

特定の CaseNumber ではありません。where句を削除すると、奇妙なことが起こります。各ケース番号の最小値を取ることはできません。同じケース番号の複数の行を受け取っています。min(age) が機能していないようです。

1対多の関係なので、私にはいくつかの困難があります。どうすればそれを処理できますか?

サンプル レコードは次のとおりです。

表 1 CaseNumber CreatedDate ModifiedDate

        1        12/12/2012 25/12/2012
        2        14/12/2012 15/12/2012
        3        16/12/2012 16/12/2012
        4        17/12/2012 17/12/2012
        5        17/12/2012 25/12/2012

表 2 ID ケース番号 年齢

      1  2         23
      2  2         34
      3  2         19
      4  3         25
      5  4         26
      6  4         50

3行だけを返したい:

19歳の症例番号2

症例番号3 25歳

症例番号4 26歳

4

3 に答える 3

0
SELECT B.Id ,B.CaseNumber,MIN(B.Age),A.CreateDate ,
        A.ModifiedDate
FROM TABLE1 A
        INNER JOIN TABLE2 B ON A.CaseNumber = B.CaseNumber
WHERE B.CaseNumber = 7
GROUP BY B.Id、B.CaseNumber、A.CreateDate、A.ModifiedDate

于 2013-05-28T07:13:35.330 に答える