「PNRno」列の最大値を持つ行を取得したいと思います。ここで、PNRnoはTktrsrvの主キーであり、複数のテーブルとの関係があります。コードは次のように記述されます。
Select
PNRcd,PNRno, Tktno, Tno, Tname, Doj, Class, brding, rsrvdupto
from Tktrsrv
GROUP BY PNRno
Having PNRno= Max(PNRno);
私を助けてください。
を使用する場合、集約されていない、または節GROUP BY
で言及されていない列リストの列を使用することはできません。GROUP BY
PNRno の最大値を持つ行を 1 つだけ選択する場合は、必要ありませんGROUP BY
。このクエリを使用します。
Select
PNRcd,PNRno, Tktno, Tno, Tname, Doj, Class, brding, rsrvdupto
from Tktrsrv
WHERE PNRno = (SELECT Max(PNRno) FROM Tktsrv)
Prdno が主キーの場合、各値は tktrsrv テーブルに一度しか存在できないため、group by を実行する必要はありません。
したがって、最大値を選択できます
select max(PNRno) from tktrsrv
PNRno tktqueue への外部キーを持つ別のテーブルから選択する場合は、私が作成したテーブル名です)
select * from tktqueue
where PNRno=(select max(PNRno) from tktrsvr);
同様に、別のテーブルで最も高い tktrsrv からデータを選択する場合
select * from tktrsvr
where PNRno=(select max(PNRno) from tktqueue);