Không chắc chính xác những gì bạn cố gắng để biểu thị với cú pháp đó, nhưng ở hầu hết các RDBMS-es bạn có thể sử dụng một subquery trong mệnh đề FROM (đôi khi được gọi là một " inline-view "):
SELECT..
FROM (
SELECT ...
FROM ...
) my_select
WHERE ...
Trong tiên tiến "doanh nghiệp" RDBMS-es (như Oracle, SQL Server, postgresql), bạn có thể sử dụng các biểu bảng phổ biến cho phép bạn tham khảo một truy vấn theo tên và tái sử dụng nó thậm chí nhiều lần:
-- 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;
(ví dụ từ http://msdn.microsoft.com/en-us/library/ms190766(v=sql.105).aspx)
Nguồn
2012-07-13 22:17:46
Có bất kỳ câu trả lời nào trong số những câu trả lời này thỏa đáng không? Vui lòng đánh dấu vào ô nếu bạn xem xét câu trả lời. –