【发布时间】:2013-09-17 06:42:04
【问题描述】:
使用 SQL Server 2008
目的:从table1中选择一系列列插入到table2中
问题:在 table2 中需要插入一个额外的列,该列可以从 table1 和 table 3 之间的连接派生出来
当前代码
SELECT
table1.name,
table1.email,
table1.phone,
CASE WHEN table1.status = 'active' THEN 1 ELSE 0 END AS Active,
CASE WHEN table1.group_id = 3 THEN 5 ELSE table1.group_id END AS RoleId,
(SELECT
table3.UserID AS ParentID
FROM
table3
INNER JOIN
table1 ON
table3.ID = table1.table3_ID)
FROM
table1
WHERE
table1.group_id = 3 AND
table1.status = 'active'
目前此代码不起作用并返回“子查询返回超过 1 个值”错误。 我知道这可能不是使用嵌套选择的正确方法,正确的方法是什么?
如有必要,可以提供其他数据。 先感谢您。
【问题讨论】:
-
有什么原因不能在 from 子句中加入 table1 和 table3 吗?
-
谢谢你所有的答案都是好的,我使用的是我检查过的。我会全部投票,但我没有代表
-
关于这个问题的更多信息,以防万一有人好奇......使用 TOP x,我能够意识到有重复输入到表中以某种方式导致了问题。快速 COUNT 和 GROUP BY 显示重复的 ID
标签: sql sql-server select insert