【发布时间】:2011-02-18 08:09:25
【问题描述】:
我有一个这样的查询:
UPDATE t3
SET somevalue = (SELECT t2.id
FROM table1 t1
JOIN table2 t2
ON t1.fk_table2_id = t2.id
WHERE t3.id = t1.fk_table3_id)
FROM table3 t3
子查询 SELECT t2.id FROM table1 t1 JOIN table2 t2 ... 在我的 SQL Server 20008 数据库中的某个位置返回 2+ 个值。有没有一种简单的方法可以找出失败的地方?还是有另一种方法可以用另一个表中的值更新一个表中的列?
提前致谢
【问题讨论】:
-
您可以尝试在子查询中使用 TOP 1。显然,至少根据您的想法,似乎存在一些不一致的数据。因此,如果您乐于忽略这一点,那么前 1 项应该可以解决您的直接问题
-
是的,我已经在子查询上尝试了top 1,问题是,我不确定结果是否正确,所以我想看看它在哪里检查失败...
标签: sql sql-server-2008 subquery