我在這裏創造新的臨時表,只是你展示如何直接將查詢結果爲表....
--Creating new TempTable
CREATE TABLE #tempTable(tempyear nvarchar(20),tempmonth nvarchar(20),Circle_code nvarchar(20),Call_type_code nvarchar(20),
DescId nvarchar(20),CustId nvarchar(20),call_logged nvarchar(30),Call_Cancel nvarchar(20));
--Inserting the data into tempTable
INSERT INTO #tempTable(tempyear,tempmonth,Circle_code,Call_type_code,DescId,CustId,call_logged,Call_Cancel)
select d1.year,d1.month,d1.Circle_code,d1.Call_type_code,d1.DescId,d1.CustId,
d1.call_logged,d2.Call_Cancel
from dbo.Table_M_CALL_LOGGED as d1
join dbo.Table_M_CALL_CANCEL as d2 on
d1.year=d2.year
and d1.month=d2.month
and d1.Circle_Code=d2.Circle_Code
and d1.Call_Type_Code=d2.Call_Type_Code
and d1.DescId=d2.DescId
and d1.CustId=d2.custID
下面的方法時,不較早創建的表,需要使用將來自一個表的數據插入到另一個表中新創建的表中時創建。新表使用與選定列相同的數據類型創建。
SELECT d1.year,d1.month,d1.Circle_code,d1.Call_type_code,d1.DescId,d1.CustId,
d1.call_logged,d2.Call_Cancel
INTO new_table --Here inserting into new table
FROM dbo.Table_M_CALL_LOGGED AS d1
join dbo.Table_M_CALL_CANCEL AS d2 ON
d1.year=d2.year
AND d1.month=d2.month
AND d1.Circle_Code=d2.Circle_Code
AND d1.Call_Type_Code=d2.Call_Type_Code
AND d1.DescId=d2.DescId
AND d1.CustId=d2.custID
由於您似乎是SQL的新手,很好的入門習慣是用更好的描述來命名您的別名(d1,d2)。 d1 => loggedCall,d2 => cancelledCall。既然你只鍵入了一次,但多次閱讀,那麼花一點時間細讀一下是個好主意。長遠來看,你會發現它效果更好。 – 2012-03-28 10:29:50