2010-07-01 77 views
1

我正在寻找执行单个查询来更新数据库。下面是一些伪代码:嵌套查询? - >设置值=(从其他表中选择值WHERE)

UPDATE Table1 SET Table1.Value = (SELECT Value FROM Table2 WHERE Table2.Id==2) WHERE Table1.Id == 4 
+0

你试过了吗? – akf 2010-07-01 22:03:58

+0

除了==以外,看起来还可以,只要内部选择只选择一个值。 – 2010-07-01 22:05:25

+0

哪个SQL产品? – onedaywhen 2010-07-02 10:53:49

回答

1

如果你的子查询(SELECT Value FROM Table2 WHERE Table2.Id=2)只返回一个值,这只会工作。像我这样在子查询中用=代替==

我相信它更新到什么,我有以下会使其工作无论什么:

(SELECT Top (1) Value FROM Table2 WHERE Table2.Id=2)

+0

如果通过“会使它工作”,你的意思是“会默默地选择一个值任意”,那么肯定是的。 – onedaywhen 2010-07-02 10:52:58

+0

是的...这就是我的意思。我留下了深刻的印象,你可以指出这一点。给自己拍一下背部。 – 2010-07-02 16:28:35