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 ループが必要ですか?? :s

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 に答える