"Oleg Matveyev" ...
Всем привет.
следующие два запроса упираются в ошибку
Undefined name.
Dynamic SQL Error.
SQL error code = -204.
Ambiguous field name between a field and a field in the select list with name.
ID_STORAGE.
SELECT id_Storage, id_Storage, id_GoodSpec, SUM(db_Count0)
FROM prcReport_FOS_Good_UDF(3, 0)
GROUP BY id_Storage, id_Storage, id_GoodSpec
SELECT id_Storage, id_Storage, id_GoodSpec, SUM(db_Count0)
FROM prcReport_FOS_Good_UDF(3, 0)
GROUP BY id_Storage, id_GoodSpec
Ну а как он должен понять по какому именно полю группировать ?
В принципе, можно добавить проверку на то, что одноимённые поля в SELECT
берутся из одной и той же таблицы и игнорировать все, кроме одного... но
я бы не расматривал это как высокоприоритетную задачу... Занеси в трекер,
чтобы не забылось, а там посмотрим :)
В стандарт не смотрел, может там есть что на этот счёт
а если указать номера в группировке - проходит нормально в обоих вариантах:
SELECT id_Storage, id_Storage, id_GoodSpec, SUM(db_Count0)
FROM prcReport_FOS_Good_UDF(3, 0)
GROUP BY 1,3
SELECT id_Storage, id_Storage, id_GoodSpec, SUM(db_Count0)
FROM prcReport_FOS_Good_UDF(3, 0)
GROUP BY 1,2,3
P.S. FB 2.0.5; WIN
P.P.S. практический смысл в указании двух одинаковых полей: INSERT SELECT
INSERT INTO ...
SELECT id_Storage, id_Storage, id_GoodSpec, SUM_db_Count0
FROM (
SELECT id_Storage, id_GoodSpec, SUM(db_Count0) AS SUM_db_Count0
FROM prcReport_FOS_Good_UDF(3, 0)
GROUP BY id_Storage, id_GoodSpec
) T
--
Хорсун Влад