【问题标题】:LEFT JOIN returning all null values [closed]LEFT JOIN 返回所有空值
【发布时间】:2021-01-27 19:23:11
【问题描述】:

所以我的查询返回了正确数量的结果,但由于某种原因,左连接结果都是 NULL 值。这是查询:

SELECT invoices.* FROM appointments
LEFT JOIN invoices ON 'appointments.invoice_guid' = 'invoices.guid'

结果

guid       created_at      status
NULL       NULL            NULL
NULL       NULL            NULL

表格

invoices
    - guid
    - created_at
    - status

appointments
    - guid
    - created_at
    - status
    - invoice_guid

【问题讨论】:

  • 'appointments.invoice_guid' = 'invoices.guid'因为它总是假的......
  • @Selvin 怎么总是假的??
  • 因为你比较的是字符串而不是列中的值
  • @Selvin 是的,但是字符串彼此相等
  • 文字“appointments.invoice_guid”不等于“invoices.guid”

标签: mysql null left-join


【解决方案1】:

你用错了引号,把它们去掉

SELECT invoices.* 
FROM appointments
LEFT JOIN invoices ON appointments.invoice_guid = invoices.guid

你使用它们的方式是比较两个字符串,它们是不同的,所以你不会加入任何东西

【讨论】:

    【解决方案2】:

    删除单引号 'appointments.invoice_guid' = 'invoices.guid'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 2021-02-09
      • 2016-07-31
      • 2021-09-12
      相关资源
      最近更新 更多