2015-02-05 120 views
0

我試圖插入SELECT語句值。我試着這樣做:如何在SQL Server中插入Select語句值

INSERT INTO transactiondetails 
VALUES (SELECT TOP 1 
      transactionid 
     FROM  
      transactions 
     ORDER BY 
      desc, '1', '2',) 
+0

什麼意思「order by desc,.1」? – Ajay2707

+0

那裏,我編輯它 –

+0

SELECT語句只是從Transactions表中獲取最後一個TransactionID。我試圖獲得該值,並插入到TransactionDetails表中以及'1'和'2' –

回答

0

試試這個:

INSERT INTO TransactionDetails(field1,field2,field3) 
     SELECT TOP 1 TransactionID,'1','2' FROM Transactions ORDER BY TransactionID DESC 
1

假設你TransactionDetails表有3列,也許你正在尋找的東西是這樣的:

Insert Into TransactionDetails 
Select Top 1 TransactionId, 1, 2 
From Transactions 
Order By TransactionId Desc 
+0

只是一個註釋:因爲關係表中的數據實際上並未按默認排序,所以'ORDER BY'在這個select語句中是毫無意義的。它沒有傷害 - 但它也沒有任何好處。 –

0

如果1和2是比你可以這樣做的靜態值...

INSERT INTO TransactionDetails 
VALUES (col1,col2,col3)     
SELECT TOP 1 TransactionID,1,2 FROM Transactions ORDER BY DESC 
0

你也可以檢查這一點。

;with CTE 
as(  
     SELECT 
      TOP 1 transactionid as transactionid, 
      '1' as '1', 
      '2' as '2' 
     FROM  transactions 
     ORDER BY column1 desc --you need to give columnname 
    ) 

INSERT into transactiondetails 

SELECT 
     CTE.transactionid, 
     CTE.1, 
     CTE.2  
from CTE