【问题标题】:unable to select information from multiple columns mysql无法从多列mysql中选择信息
【发布时间】:2019-07-13 07:43:31
【问题描述】:

当我尝试运行以下查询时,我在选择下方看到一条红线,您可以假设所有表名和行名都是正确的。这是查询:

select order_date, date_delivered
from polo_delivery, polo_order inner join polo_order
on polo_delivery.order_id=polo_order.order_id
where order_date = not null and date_delivered = null;

我什至需要加入表格还是应该使用 polo_delivery.date_delivered 和 polo_order.order_date 之类的东西?谢谢

【问题讨论】:

  • 你想加入两次polo_order吗?你把那张桌子放了两次
  • 隐式“逗号”连接表示法通常不受欢迎,并且在过去二十年的大部分时间里一直存在,并且混合隐式和显式连接表示法从来都不是一个好主意。 ...并且您在 polo_delivery 上没有加入条件。
  • 那一定是给你一个错误信息!

标签: mysql join select


【解决方案1】:

在where子句中比较信息与空信息时,必须使用“x is null or x is not null”。

选择 order_date、date_delivered 从 polo_delivery,polo_order 内连接 polo_order 关于 polo_delivery.order_id=polo_order.order_id 其中 order_date 不为空且 date_delivered 为空;

【讨论】:

    【解决方案2】:

    你有额外的 polo_order 并比较 null 你使用 IS

    select order_date, date_delivered
    from polo_delivery
    inner join polo_order
       on polo_delivery.order_id = polo_order.order_id
    where order_date IS not null 
      and date_delivered IS null;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多