【问题标题】:MySQL - retrieve a value from another table if column is nullMySQL - 如果列为空,则从另一个表中检索值
【发布时间】:2011-11-28 06:34:16
【问题描述】:

假设我有一个表设置,其中包含几个值,包括名称、ID 和引用另一个表 ID 的外键。名称可以为空。当我从该表中选择所有记录时,如果它不为空,我想获取名称。如果是,我想获取外键引用的记录的名称。如有必要,我可以修改数据库结构,或者我可以简单地更改查询。我有哪些选择?

【问题讨论】:

    标签: mysql sql select


    【解决方案1】:

    使用IFNULLCOALESCE

    SELECT T1.ID, IFNULL(T1.name, T2.name) AS name
    FROM firsttable T1
    LEFT JOIN secondtable T2
    ON T1.T2_id = T2.id
    

    【讨论】:

      【解决方案2】:

      ISNULL 用于sql

      SELECT T1.ID, ISNULL(T1.name, T2.name) AS name
      FROM firsttable T1
      LEFT JOIN secondtable T2
      ON T1.T2_id = T2.id
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-05
        • 2019-05-25
        • 2011-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多