Это просто для того, чтобы опубликовать запрос и показать проблему (Микал ответил на него правильно):
AS VTBL
должно быть просто
VTBL
как таковое
WITH product AS(
SELECT 1 productId, 2 version FROM DUAL
union
SELECT 2 productId, 2 version FROM DUAL
UNION
SELECT 3 productId, 3 version FROM DUAL
union
SELECT 2 productId, 6 version FROM DUAL
UNION
SELECT 3 productId, 4 version FROM DUAL
UNION
SELECT 4 productId, 5 version FROM DUAL
)
SELECT
PRODUCT.PRODUCTID,
product.version
FROM
PRODUCT
INNER JOIN
(
SELECT
productId,
MAX(version) AS MaxVersion
FROM
product
GROUP BY productId
) /*as*/ VTBL ON
product.productId= vTbl.productId AND
product.version= vTbl.MaxVersion;
Мне нравится быть явным, поэтому я оставляю ВНУТРЕННЕЕ СОЕДИНЕНИЕ, но ответ Михаэля верен (поскольку он удалил AS )
AS выдает эту ошибку
ORA-00905: missing keyword
00905. 00000 - "missing keyword"
*Cause:
*Action:
(проверено в 11g r1)