Non so esattamente che cosa si prova a indicare con che la sintassi, ma in quasi tutti i RDBMS-es è possibile utilizzare un subquery nella clausola FROM (a volte chiamato " inline-view "):
SELECT..
FROM (
SELECT ...
FROM ...
) my_select
WHERE ...
In avanzate "impresa" RDBMS-es (come Oracle, SQL Server, PostgreSQL) è possibile utilizzare espressioni di tabella comuni, che consente di fare riferimento a una query per nome e riutilizzarlo anche più volte:
-- Define the CTE expression name and column list.
WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear)
AS
-- Define the CTE query.
(
SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
)
-- Define the outer query referencing the CTE name.
SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear
FROM Sales_CTE
GROUP BY SalesYear, SalesPersonID
ORDER BY SalesPersonID, SalesYear;
(esempio dalla http://msdn.microsoft.com/en-us/library/ms190766(v=sql.105).aspx)
fonte
2012-07-13 22:17:46
Queste risposte sono state soddisfacenti? Si prega di spuntare uno se si considera che ha risposto. –