[英]SQL SELECT statement inside of FROM, with INNER JOIN
我正在编写一个存储过程,其中包含一些变量和临时表。
我正在尝试执行以下操作:
INSERT INTO table1(
col1,
col2,
col3,
SELECT
@col1,
t2.col2,
t3.col3
FROM
#table2 t2,
(SELECT *
FROM table4 t4
INNER JOIN #table2 t2 ON t4.ID = t2.ID) t3
但是,假设t2
和t3
有5行,上面插入5 * 5 = 25行,其中它应该只是5.看起来像是在t2
和t3
之间的FROM
中计算的叉积,我不能很明白为什么。
你确定你应该使用逗号而不是实际的连接吗? 这可能是导致交叉产品而非连接行选择的原因。
这是你打算做的吗?
INSERT INTO table1(col1, col2, col3)
SELECT @col1, t2.col2, t3.col3
FROM table4 t4 INNER JOIN
#table2 t2
ON t4.ID = t2.ID;
您的原始查询对#table2
有额外的引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.