SQL コード内で gradterm の最大値にアクセスする方法について質問があります。これが私の単純なコードの例です:
SELECT
Ceremony.Date, People.name, People.age
FROM
people
JOIN
Ceremony ON people.grad = Ceremony.grad
ご覧のとおり、両方のテーブルの grad 列を使用して、テーブルCeremony
内の卒業生に基づいてテーブルの日付を表示していpeople
ます。これが、最大の成績値を取得するために機能すると私が考えたものです。
SELECT
Ceremony.Date, people.name, people.age
FROM
people
JOIN
Ceremony ON MAX(people.grad) = MAX(Ceremony.grad)
実行しようとすると、次のエラーが発生します。
集計は、HAVING 句または選択リストのサブクエリにあり、列が外部参照で集計されていない限り、ON 句に表示できません。
関数で実行しようとしましたが、うまくいきCeremony.Date
ませMAX
んでした。また、テーブルがどのように見えるかの例を次に示します。
people
テーブル:
|name|age|gradterm|
-------------------
|jake|20 |A |
|joe |23 |B |
Ceremony
テーブル:
|Date |gradterm|
--------------------
|Dec 21 | A |
|Fall 21 | B |
People テーブル "A" の場合gradterm
、(ストアド プロシージャを介して) SQL データを表示するために使用している GridView は、Ceremony
日付として "12 月 21 日" を表示します。また、peoples テーブルの gradterm が「B」である場合、グリッドビューには「Fall 21」と表示されます。それを比較して式典の日付を取得するときに、最大のgradtermを取得したいだけです。助けてくれたみんなに前もって感謝します!