SQL Server 2008中查询移动台从一个到另一个
问题描述:
数据我已经在ColdFusion中以下内容:SQL Server 2008中查询移动台从一个到另一个
<cfquery name="queryInRange" datasource="Database1" >
select STOCK
from CAR
WHERE (CAR_INV_DATE between '#dateStartDate#' and '#dateEndDate#')
</cfquery>
<cfoutput query="queryInRange">
<cfquery name="INSStocks" datasource="Database1" >
if not exists (select strStockNumber from Aggregates WHERE strStockNumber='#STOCK#')
BEGIN
insert into Aggregates (strStockNumber)
VALUES('#STOCK#')
END
</cfquery>
</cfoutput>
这里的想法是从一个表,供应商台拉场的股票,并确保它具有在第二个表中记录,然后我们添加一些信息。我想知道,有没有办法在sql中这样做,所以有cf循环?
答
是的,有一种方法可以用sql来完成。其实有不少。这是一个。
insert into table2
(field1, field2, etc)
select value1, value2, etc
from otherTables
etc
except
select value1, value2, etc
from table1
EXCEPT与我的查询中的IF NOT EXISTS的工作方式不同吗? –
阅读[Except文档](https://msdn.microsoft.com/en-us/library/ms188055.aspx)了解它是如何工作的。 – Leigh
正确的,它说:“从查询中返回EXCEPT运算符左侧的任何不同的值,这些值也不是从正确的查询中返回的。”我试图理解它与NOT EXISTS的不同之处“指定要测试的子查询对于行的存在。“ –