0

だから私は次の表を持っています:

 Age    Name    School
 22     x       ryerson
 31     y       york
 14     z       U of T

そして、次の結果を持つクエリを書きたいと思います:

  Age  Name School(of the next-youngest person)     
  22    x    U  of T
  31    y    ryerson
  14    z    null

別の関数を作成したり、別の関数にパラメーターを渡したりせずに、このクエリをどのように記述しますか? SQL Server を使用しています。

4

2 に答える 2

3

使えない理由がわかりませんMAX。とにかく、これはすべきです:

SELECT A.Age, A.Name, B.School
FROM YourTable A
OUTER APPLY (   SELECT TOP 1 School
                FROM YourTable
                WHERE Age < A.Age
                ORDER BY Age DESC) B
于 2012-08-09T21:51:54.507 に答える
1

サブクエリを使用できます。

SELECT o.Age, o.Name,
    (SELECT TOP 1 c.School
    FROM Students c
    WHERE c.Age < o.Age
    ORDER BY c.Age DESC) as school
FROM Students o
于 2012-08-09T21:57:08.127 に答える