Respuesta :

Baraq

Based on SQL tags and Query, and considering the original codes programmer do not need to use ORDER BY in inner query after WHERE clause because it has already been used in ROW_NUMBER () OVER (ORDER BY VRDATE DESC).

Note that it is not acceptable or executable to have ORDER BY command used in a subquery, although the main query can use an ORDER BY.

Hence, in this case, programmer needs to have is the following:

SELECT

*

FROM (

SELECT

Stockmain. VRNOA,

item. description as item_description,

party. name as party_name,

stockmain. vrdate,

stockdetail. qty,

stockdetail. rate,

stockdetail. amount,

ROW_NUMBER() OVER (ORDER BY VRDATE DESC) AS RowNum --< ORDER BY

FROM StockMain

INNER JOIN StockDetail

ON StockMain.stid = StockDetail. stid

INNER JOIN party

ON party. party_id = stockmain. party_id

INNER JOIN item

ON item.item_id = stockdetail. item_id

WHERE stockmain.etype = 'purchase'

) AS MyDerivedTable

WHERE

MyDerivedTable. RowNum BETWEEN

Inexecutable Code in the question is the following:

SELECT

*

FROM (

SELECT

Stockmain. VRNOA,

item. description as item_description,

party. name as party_name,

stockmain. vrdate,

stockdetail. qty,

stockdetail. rate,

stockdetail. amount,

ROW_NUMBER() OVER (ORDER BY VRDATE) AS RowNum

FROM StockMain

INNER JOIN StockDetail

ON StockMain. stid = StockDetail. stid

INNER JOIN party

ON party. party_id = stockmain. party_id

INNER JOIN item

ON item. item_id = stockdetail. item_id

WHERE stockmain. etype = 'purchase'

ORDER BY VRDATE DESC

) AS MyDerivedTable

WHERE

MyDerivedTable.RowNum BETWEEN 1 and 5

Learn more here: https://brainly.com/question/14777974