我有一个SQL查询,我试图将其转换为PySpark。在SQL查询中,我们连接两个表,并更新条件匹配的列。SQL查询如下所示:
UPDATE [STUDENT_TABLE] INNER JOIN [COLLEGE_DATA]
ON ([STUDENT_TABLE].UNIQUEID = COLLEGE_DATA.PROFESSIONALID)
AND ([STUDENT_TABLE].[ADDRESS] = COLLEGE_DATA.STATE_ADDRESS)
SET STUDENT_TABLE.STUDENTINSTATE = "REGULAR"
WHERE (((STUDENT_TABLE.BLOCKERS) Is Null));
1条答案
按热度按时间efzxgjgh1#
输入示例:
您的查询将只更新
df_stud
的第一行-列“STUDENTINSTATE”中的值将变为“REGULAR”。在下面的脚本中,我们先对
join
执行,然后对df_stud
中的所有列执行select
,但必须更新的列“STUDENTINSTATE”除外。如果列“PROFESSIONALID”(来自df_college
)不为空如果不满足连接条件,则不应更新该值,因此将按原样从列“STUDENTINSTATE”中获取该值。