1

我想在 Peshwar 表中添加性别。我想添加性别为空的 Peshwar 表的所有字段,由该查询返回

select  
    Gender_lookup_Table.
    Gender
from 
    Gender_lookup_Table,Peshwar
where 
    Gender_lookup_Table.initial_name like substring 
        (Peshwar.Student_Name, 1,CHARINDEX(' ',Peshwar.Student_Name,0))

使用它来填充性别列:S 但我不起作用。

update Peshwar
set 
gender=
    (
        select  
            Gender_lookup_Table.Gender
        from 
            Gender_lookup_Table,Peshwar
        where 
            Gender_lookup_Table.initial_name like substring
                 (Peshwar.Student_Name, 1,CHARINDEX(' ',Peshwar.Student_Name,0))
)
where gender= NULL

我需要一个for循环来填充所有列??:秒

4

2 回答 2

2

首先,在与值进行比较时,它不NULL应该是.IS NULL= NULL

UPDATE  a
SET     a.gender = b.gender
FROM    peshwar a
        INNER JOIN gender_lookup_Table b
            ON b.initial_name LIKE SUBSTRING(a.Student_Name, 1, CHARINDEX(' ', a.Student_Name, 0))
于 2012-12-11T13:30:06.010 回答
2
update p
SET p.gender = g.gender
FROM peshwar p
INNER JOIN Gender_lookup_Table g 
        ON g.initial_name LIKE SUBSTRING(p.Student_Name, 
                                         1,  
                                         CHARINDEX(' ', p.Student_Name,0))
WHERE p.gender IS NULL
于 2012-12-11T13:30:39.230 回答