Search code examples
sqloracle-databaseplsqlora-00905

ORA-00905: Trouble converting Mysql/MMSQL syntax to oracle syntax


I'm having trouble running the below code on an Oracle DB. Not too sure why - getting the error below

ORA-905 error - missing keyword

This works fine on MSSQL and MYSQL.

Any indication as to how to fix will be much appreciated.

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

Solution

  • SELECT
      product.productId, product.version
    FROM
        product JOIN
        (
                SELECT
                        productId,
                        MAX(version) AS MaxVersion
                FROM
                        product
                GROUP BY productId
    
       ) vTbl ON
                    product.productId= vTbl.productId AND
                    product.version= vTbl.MaxVersion