我想檢索具有最大值'PNRno'列的行,其中PNRno是主Tktrsrv的關鍵,並與多個表的realatioship。代碼寫爲:'重要關係'的列在選擇列表中是無效的,因爲它不包含在聚合函數或GROUP BY子句中
Select
PNRcd,PNRno, Tktno, Tno, Tname, Doj, Class, brding, rsrvdupto
from Tktrsrv
GROUP BY PNRno
Having PNRno= Max(PNRno);
請幫幫我。
我想檢索具有最大值'PNRno'列的行,其中PNRno是主Tktrsrv的關鍵,並與多個表的realatioship。代碼寫爲:'重要關係'的列在選擇列表中是無效的,因爲它不包含在聚合函數或GROUP BY子句中
Select
PNRcd,PNRno, Tktno, Tno, Tname, Doj, Class, brding, rsrvdupto
from Tktrsrv
GROUP BY PNRno
Having PNRno= Max(PNRno);
請幫幫我。
使用GROUP BY
時,不能使用列表列中未列入任何列的任何列,這些列在GROUP BY
子句中未彙總或提及。
如果你想選擇最大值爲PNRno的一行,你甚至不需要GROUP BY
;使用此查詢:
Select
PNRcd,PNRno, Tktno, Tno, Tname, Doj, Class, brding, rsrvdupto
from Tktrsrv
WHERE PNRno = (SELECT Max(PNRno) FROM Tktsrv)
如果Prdno是一個主鍵,那麼你不需要通過爲每個值在tktrsrv表只能出現一次做一組。
因此,您可以用
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);
您沒有使用GR另一個表中的最高OUP BY適當。 – JonH 2011-12-28 16:30:08