如何在加入另一个表时使用PROC SQL更新字段以定义条件?我不想用第二个表中的另一个字段更新字段,我只想用“" Small"”更新字段。我使用的是这种语法,但它不起作用:
PROC SQL;
UPDATE GROUP A
SET SEGMENT =
(SELECT 'SMALL'
FROM SMALL_GROUP_REPORT B
WHERE A.NUMBER = B.NUMBER);
答案 0 :(得分:1)
如果您想使用其他表中的列更新表格,那么您不会想要单引号:
PROC SQL;
UPDATE GROUP A
SET SEGMENT = (SELECT SMALL
FROM SMALL_GROUP_REPORT B
WHERE A.NUMBER = B.NUMBER
);
但是,如果该行存在于另一个表中,您似乎将该段视为'SMALL'
:
PROC SQL;
UPDATE GROUP A
SET SEGMENT = 'SMALL'
WHERE EXISTS (SELECT 1
FROM SMALL_GROUP_REPORT B
WHERE A.NUMBER = B.NUMBER
);