2016-12-03 106 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 ..请参阅编辑.. –