读书人

把tb2中的marketId StockId不存在于

发布时间: 2012-06-02 14:16:14 作者: rapoo

把tb2中的marketId ,StockId不存在于tb1中的记录插入到tb1中。这样写么???
insert into tb1 (MarketId, StockId, NewPrice)
select MarketId, StockId, NewPrice
from tb2
where not ( MarketId in (select MarketId from tb1) and StockId in (Select StockId from tb1))

把tb2中的marketId ,StockId不存在于tb1中的记录插入到tb1中。这样写么???

另外 下面这句和上面这句一样么??转不过弯来了。感觉不一样啊。。。

insert into tb1 (MarketId, StockId, NewPrice)
select MarketId, StockId, NewPrice
from tb2
where ( MarketId not in (select MarketId from tb1) and StockId not in (Select StockId from tb1))

[解决办法]

SQL code
insert tb1select MarketId, StockId, NewPrice from tb2 awhere not exists(select 1 from tb1 a where a.MarketId=b.MarketId and a.StockId=b.StockId)
[解决办法]
SQL code
insert into tb1 (MarketId, StockId, NewPrice)  select MarketId, StockId, NewPrice  from tb2where not ( MarketId in (select MarketId from tb1) and StockId in (Select StockId from tb1))--这句错了insert into tb1 (MarketId, StockId, NewPrice)  select MarketId, StockId, NewPrice  from tb2where MarketId not in(select MarketId from tb2)and StockId not in(select StockId  from tb2)--这样写可以,但是逻辑上有问题,还是用exists的吧 

读书人网 >SQL Server

热点推荐