你能帮我一个SQL查询吗?

我想从另一个表中获取一个值,但不能使用内部联接,因为这两个表中的“联接”列并不完全相同。相反,我必须检查“ Table_B.zip_min和Table_B.zip_max之间的Table_A.clubZipCode”所在的位置。

到目前为止,这是我的研究成果:

UPDATE
    Table_A
SET
    Table_A.clubState = Table_B.state
FROM
    clubs_data AS Table_A
    JOIN zip_to_state AS Table_B
WHERE
    Table_A.clubZipCode BETWEEN Table_B.zip_min AND Table_B.zip_max


但是,它在第​​5行绘制了语法错误。
谢谢!

最佳答案

这是使用有效语法重写的查询:

UPDATE clubs_data
SET clubState = (
                    SELECT state
                    FROM zip_to_state
                    WHERE clubs_data.clubZipCode >= zip_to_state.zip_min AND clubZipCode <= zip_to_state.zip_max
                    LIMIT 1
                );

关于mysql - MySql更新,其中table_A.col_1在table_B.col_1和table_B.col_2之间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42846038/

10-12 12:51