MS SQL Update查询中的多个查询

时间:2012-07-16 10:05:30

标签: sql-server-2008 sql-update

我有一个更新查询,其中where子句包含多个查询,因此:

UPDATE Table 'tableA'
SET    FieldA = 'Y'
WHERE  ID IN (SELECT ID
              FROM   tabA)
        OR ID IN (SELECT ID
                  FROM   tabB) 

好的,上面的查询只是我的查询的一个简单示例,但我的问题是我在“tableA”中设置了另一个字段,其值取决于在where子句中执行的两个查询中的哪一个。例如,如果tabA中的Select ID返回,那么我想设置一个值,比如在FieldB ='First Query'中。

那么,有没有办法针对每个查询设置一个局部变量,我可以传递给set子句,还是有另一种方式?

由于

1 个答案:

答案 0 :(得分:0)

你不能把它设置为php中的变量(或者你使用的任何东西)吗?然后在查询中包含变量?

$query = "= 'Y' WHERE ID IN (SELECT ID from tabA) OR ID IN (SELECT ID from tabB)";
"UPDATE tableA SET FieldA = " . $query . ", SET FieldB = " . $query . "";