【发布时间】:2021-05-25 19:05:59
【问题描述】:
对于 SQL/SAS 来说还是相当新的。我正在尝试将第二行添加到当前只有一行的最终表中。它有 10 列长,下面是我现在的代码。
insert into lib.summary
select
count(distinct cat_rotn_data.rotn_prng_nbr),
1,
1,
1,
avg.avg_blk,
1,
avg.avg_duty,
1,
1,
1
from avg, cat_rotn_data;
它在正确的位置返回正确的数字,但它有 1,089 行(cat_rotn_data 的长度)而不是我想要的 2 的长度。我希望成为第 2 行的那一行被重复了一千多次,我不太清楚为什么。
此外,现在为 1 的值将是来自其他表的其他计数/总和计算,但我将它们取出以简化我试图弄清楚这一点。
【问题讨论】:
-
如果您单独执行 SELECT,它会返回您期望的结果吗?
-
我怀疑这是您的交叉连接,但如果没有从您的两个表和 SELECT 语句中看到一些示例数据和所需的输出,我们不可能在这里指导。
-
from avg, cat_rotn_data是交叉连接,即笛卡尔积。将返回表 1 中的行数乘以表 2 中的行数。
标签: sql sas sql-insert