2016-12-03 122 views
2

我試圖通過輸入值並從子查詢中獲取1插入值到1表中,我不知道如何將SaleEventID, PoolName & CurrentUPB的靜態值與SELECT陳述給我的價值PoolIDSQL Server 2014:插入值和子查詢

我會擴展到包括更多的列,我可能需要包括額外的選擇子查詢。

什麼是正確的格式?

SELECT DISTINCT [PoolID] 
FROM TESTLOANS 
WHERE SaleEventID = 0 

試過把它們組合起來,但它不起作用。

INSERT INTO TESTPOOLS (SaleEventID, PoolID, PoolName, CurrentUPB) 
VALUES ('55', [POOLID], 'SouthernFL', '45,000') 

SELECT DISTINCT [PoolID] 
FROM TESTLOANS 
WHERE SaleEventID = 55 

UPDATE:現在返回CurrentUPB價值,我可以使用

SELECT SUM(CurrentUPB) CurrentUPB 
FROM TESTLOANS 
WHERE SaleEventID = 0 

如果我有一些更多的這些類型的SELECT語句給我值了我的一些插件中的,怎麼辦我將這些添加到主查詢中?

回答

5

按原樣使用select並在同一語句中包含靜態值。

INSERT INTO TESTPOOLS (SaleEventID, PoolID, PoolName, CurrentUPB) 
SELECT DISTINCT '55', [POOLID], 'SouthernFL', '45,000' 
FROM TESTLOANS 
WHERE SaleEventID=0 

編輯:使用窗口函數來獲得計數或總和。

對於如:

INSERT INTO TESTPOOLS (SaleEventID, PoolID, PoolName, CurrentUPB,somecount) 
SELECT DISTINCT '55', [POOLID], 'SouthernFL' 
,sum(currentUPB) over(partition by poolid) --if you don't need the sum by poolid just use sum(currentUPB) over() 
,count(*) over(partition by poolid) --if you don't need the count by poolid just use count(*) over() 
FROM TESTLOANS 
WHERE SaleEventID=0 
+0

感謝@vkp將很快接受作爲定時器讓我。 – UserSN

+0

如果我需要添加一個額外的選擇語句,如'SELECT COUNT(*)NumberOfLoans FROM TESTLOANS WHERE SaleEventID = 0'我只是在SELECT DISTINCT下添加? – UserSN

+1

@AlexP ..請參閱編輯.. –