Столбец реализаций недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY - PullRequest
0 голосов
/ 28 декабря 2011

Я хочу получить строку с максимальным значением столбца 'PNRno', где PNRno является первичным ключом Tktrsrv и имеет связь с несколькими таблицами.код написан как:

 Select
 PNRcd,PNRno, Tktno, Tno, Tname, Doj, Class, brding, rsrvdupto
 from Tktrsrv 
 GROUP BY PNRno  
 Having PNRno= Max(PNRno);

Пожалуйста, помогите мне.

Ответы [ 2 ]

2 голосов
/ 28 декабря 2011

При использовании 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)
0 голосов
/ 28 декабря 2011

Если 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...