MS SQL’de türetilmiş tabloları kullanarak bir sorgu içinde yer alan toplama fonksiyonları ile sorgunun diğer kısmını ayırabiliriz. Söz dizimi olarak aşağıdaki gibidir :
SELECT kolon1,kolon4,kolon3 FROM tablo1 AS A INNER JOIN (SELECT toplama fonksiyonu(kolon2) AS kolon4, kolon3
FROM tablo2 GROUP BY kolon3) AS B ON Açkolon1 = b.kolon3
AdventureWorks2012 veritabanı üzerinde bir örnek yapalım.
SELECT Musteri.CustomerID, SatislarinSayisi, ToplamTotalDue, OrtalamaTotalDue FROM Sales.Customer AS Musteri INNER JOIN (SELECT CustomerID, COUNT(*) AS SatislarinSayisi, SUM(TotalDue) AS ToplamTotalDue, AVG(TotalDue) AS OrtalamaTotalDue FROM Sales.SalesOrderHeader GROUP BY CustomerID) AS Satis ON Musteri.CustomerID = Satis.CustomerID
Dikkat edilmesi gereken dışta yer alan her kolon, türetilmiş tablo içinde listelenmelidir. Ayrıca türetilmiş tablo için bir alias yani bir takma ad tanımlamak gerekir. Toplama fonksiyonlarının bir sorgu içinde diğer sorgudan türetilmiş tablo kullanılarak ayrıştırılması veritabanı performansı için önemlidir. Sorgular daha hızlı cevap verir. Dışta yer alan sorgunun her bir satırı için türetilmiş tablo birden fazla satır dönebilir. Ayrıca çoklu toplama fonkisyonları kullanabilme imkanını bize tanır.