代码之家  ›  专栏  ›  技术社区  ›  stuck

如何用MySQL中的自定义逻辑if语句比较两列之间的值

  •  1
  • stuck  · 技术社区  · 6 年前

    我有这样的表,如何将这个简单值与 if statement进行比较

    我想比较j_path列的值和j_foto的值(基于它们的s_用户名),如果j_path的值和j_foto的值相同,那么score列将相同,例如admin:is 8.

    如果j_path的值和j_foto的值不相同,那么score列将是j_foto。 对不起我的初学者,谢谢你的帮助。谢谢

    .

    如果j_path的值和j_foto的值不相同,那么score列将是j_foto。 对不起我的初学者,谢谢你的帮助。谢谢

    1 回复  |  直到 6 年前
        1
  •  2
  •   Gordon Linoff    6 年前

    老实说,你的规则减少到只使用价值 j_foto :

    update t
        set score = j_foto;
    

    您描述的内容不需要条件逻辑。

    你可能会遇到这样的情况 吉福托 NULL 在这种情况下,你可能需要 j_path (尽管问题中没有提到这种情况,数据也没有建议这种情况)。在这种情况下,使用 coalesce() :

    update t
        set score = coalesce(j_foto, j_path);