我试图插入以下内容:
insert into TABLEA select b.ID,..... from TABLEB b where code = 'NL'
问题是从TABLEB中选择*,其中code =' NL&#39 ;;返回超过1的值。
无论如何要将其限制为只有1个值?
我试过select min(b.id)
,但它没有用
答案 0 :(得分:1)
从我可以收集的内容中,您只需要插入一个代码= NL的实例,即使有多个记录符合此要求。
如果这是您想要的,请将“select *”更改为“select top 1 *”,它只会从您的子查询中提取一条记录。
答案 1 :(得分:0)
使用rownum = 1
insert into TABLEA select b.ID,..... from TABLEB b where code = 'NL' and rownum = 1
但你确定要这么做吗?如果它实际上是你想要的第二行怎么办?您可能想弄清楚为什么您的查询返回多个。