Страница 1 из 1

опять GROUP BY

Добавлено: 27 мар 2005, 20:30
LIS
Вот запрос
SELECT
TBL_COUNTRY.N_COUNTRY_ID,
TBL_COUNTRY.T_COUNTRY_NAME
FROM
tbl_country,tbl_country_sprav,tbl_tour
WHERE
tbl_country_sprav.n_country_id = tbl_country.n_country_id
AND tbl_country_sprav.n_tour_id = tbl_tour.n_tour_id
AND TBL_TOUR.n_active = 1
GROUP BY
TBL_COUNTRY.N_COUNTRY_ID

это работает и в MySQL и в MS SQL

Firebird 1.5 ругается:
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).

уже ничего не понимаю.
или это всетаки баг?

Добавлено: 27 мар 2005, 23:57
dimitr
добавь в группировку TBL_COUNTRY.T_COUNTRY_NAME и будет тебе щастье на всех перечисленных серверах. Вместо того, чтобы надеятся на интеллект оптимизатора, который догадается, что N_COUNTRY_ID - первичный ключ, проще писать запросы сразу правильно.

Добавлено: 28 мар 2005, 00:25
LIS
добавь в группировку TBL_COUNTRY.T_COUNTRY_NAME и будет тебе щастье на всех перечисленных серверах. Вместо того, чтобы надеятся на интеллект оптимизатора, который догадается, что N_COUNTRY_ID - первичный ключ, проще писать запросы сразу правильно.
Однако работает
СПАСИБО!

Добавлено: 01 апр 2005, 13:21
Veterok
LIS писал(а):
добавь в группировку TBL_COUNTRY.T_COUNTRY_NAME и будет тебе щастье на всех перечисленных серверах. Вместо того, чтобы надеятся на интеллект оптимизатора, который догадается, что N_COUNTRY_ID - первичный ключ, проще писать запросы сразу правильно.
Однако работает
СПАСИБО!
Однако зачем GROUP BY, когда DISTINCT логичнее