尝试使用我当前的表插入到某个表中。这是我当前Temptable的结构:
CustomerID Name Values FakeName
1 John 10apples 10apples_20oranges_30bananas
1 John 20oranges 10apples_20oranges_30bananas
1 John 30bananas 10apples_20oranges_30bananas
2 Steve 15apples 15apples_25oranges_35bananas
2 Steve 25oranges 15apples_25oranges_35bananas
2 Steve 35bananas 15apples_25oranges_35bananas
3 Harvey 10apples 10apples_20oranges_30bananas
3 Harvey 20oranges 10apples_20oranges_30bananas
3 Harvey 30bananas 10apples_20oranges_30bananas
这是我正在执行的代码:
Insert into customer (FakeName,type,address)
select (select distinct FakeName from Temptable),
2,
xyz
from customer c
where c.fakename not in (select distinct Fakename from TempTable)
获得关注error
子查询返回的值超过1。子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时不允许这样做
我想在temptable
到customer
表中插入不同的Fakenames,确保假名已经存在,然后不插入重复的fakename
答案 0 :(得分:2)
select distinct FakeName from Temptable
不是标量,所以你不能那样使用它。
我认为这就是你所追求的:
Insert into customer (FakeName,type,address)
select distinct
FakeName,
2,
xyz
from Temptable c
where c.fakename not in (select distinct Fakename from customer)
答案 1 :(得分:0)
我想你想要这样的东西:
0:0:0
10:9:35
10:9:36
12:0:0
注意:
Insert into customer (FakeName, type, address)
select distinct tt.FakeName, 2, 'xyz'
from temptable tt
where not exists (select 1 from customer c where c.fakename = tt.fakename);
(除非它是客户中的列,这似乎不太可能)。xyz
的任何名称,not in
将过滤所有行。我将其替换为NULL
。not exists
中的重复条目,所以我更改了子查询。customer
/ in
与子查询一起使用时,not in
是多余的。