用另一个表检查一个表值,然后插入表

时间:2013-10-28 17:53:11

标签: sql sql-server

有2个表例如我们可以调用一个 - 名称,第二个 - 年龄

names table :                   age table :
ID      Names               ID      Names    Age
1       Bob                  1      Bob      18
2       Tommy                2      Tommy    21
3       Kate                 3      Kate     20
4       Adam                 4      Adam     23
5       Karl                 5      Karl     25
存储过程中的

想要检查年龄表中是否存在名称表中的名称

create table #tbl
(
  id int identity(1,1),
  age int
)

insert into #tbl (age) values(and hear each age for each name)

我认为我需要一些循环才能在没有光标的情况下进行,但是如何?请帮帮我

修改

我解决它:

create table #tbl 
(
  id int identity(1,1),
  age int
);

INSERT INTO #tbl (age) 
SELECT a.age
  FROM age a
 WHERE NOT EXISTS (
   SELECT n.name
   FROM names n
   WHERE a.Name = n.Name)

   select * from #tbl 

1 个答案:

答案 0 :(得分:1)

请改为尝试:

create table #tbl 
(
  id int identity(1,1),
  age int
);

INSERT INTO #tbl (age) 
SELECT a.age
FROM age a
LEFT JOIN names N ON N.Name = A.Name
WHERE N.Name IS NULL

select * from #tbl