A script that uses a local temporary table instead of a derived table : Temporary Table « Table « SQL Server / T-SQL Tutorial






7>
8> create table Billings (
9>     BankerID           INTEGER,
10>     BillingNumber      INTEGER,
11>     BillingDate        datetime,
12>     BillingTotal       INTEGER,
13>     TermsID            INTEGER,
14>     BillingDueDate     datetime ,
15>     PaymentTotal       INTEGER,
16>     CreditTotal        INTEGER
17>
18> );
19> GO
1>
2> INSERT INTO Billings VALUES (1, 1, '2005-01-22', 165, 1,'2005-04-22',123,321);
3> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (2, 2, '2001-02-21', 165, 1,'2002-02-22',123,321.);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (3, 3, '2003-05-02', 165, 1,'2005-04-12',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (4, 4, '1999-03-12', 165, 1,'2005-04-18',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (5, 5, '2000-04-23', 165, 1,'2005-04-17',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (6, 6, '2001-06-14', 165, 1,'2005-04-18',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (7, 7, '2002-07-15', 165, 1,'2005-04-19',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (8, 8, '2003-08-16', 165, 1,'2005-04-20',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (9, 9, '2004-09-17', 165, 1,'2005-04-21',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (0, 0, '2005-10-18', 165, 1,'2005-04-22',123,321);
2> GO

(1 rows affected)
1>
2> SELECT TOP 1 BankerID, AVG(BillingTotal) AS AvgBilling
3> INTO #TopBankers
4> FROM Billings
5> GROUP BY BankerID
6> ORDER BY AvgBilling DESC
7>
8>
9> SELECT Billings.BankerID, MAX(BillingDate) AS LatestInv
10> FROM Billings JOIN #TopBankers
11>     ON Billings.BankerID = #TopBankers.BankerID
12> GROUP BY Billings.BankerID
13> GO

(1 rows affected)
BankerID    LatestInv
----------- -----------------------
          1 2005-01-22 00:00:00.000

(1 rows affected)
1>
2>
3> drop table Billings;
4> GO
1>
2>








3.7.Temporary Table
3.7.1.Temporary Tables
3.7.2.Local temporary Table
3.7.3.Using a Temporary Table to Communicate with an EXEC()
3.7.4.A script that creates a global temporary table of random numbers
3.7.5.A script that uses a local temporary table instead of a derived table
3.7.6.SELECT INTO a temporary table
3.7.7.Creating a Table with Duplicate Rows
3.7.8.A global temporary table's name begins with ##.
3.7.9.Creating a Local Temporary Table with a SELECT INTO