TSQL:更新count(select * from table)= 0

时间:2018-04-03 14:08:00

标签: tsql

我只是想知道这是否可行 选择或更新数据,但仅当另一个查询返回零结果时

这样的事情

 Update A from tableA A
 Set A.value = 'test'
 where count(select * from tableB Where B.date = A.date) = 0

2 个答案:

答案 0 :(得分:2)

是的,您应该能够使用此逻辑编写UPDATE查询。您可以在此处使用EXISTS子句:

UPDATE tableA a
SET value = 'test'
WHERE NOT EXISTS (SELECT 1 FROM tableB b WHERE a.date = b.date);

答案 1 :(得分:1)

可能这个:

Update tableA
Set tableA.value = 'test'
where (select count(*) from tableB B Where B.date = tableA.date) = 0