【问题标题】:mysql clause where not null in phpphp中不为空的mysql子句
【发布时间】:2017-05-02 10:11:07
【问题描述】:

我正在做一个不工作的查询。我想在 all_destination 表中获取 pic 列不为空的数据,我也在查询中使用 join:

SELECT * 
FROM  `travels_detail` 
INNER JOIN all_destination ON travels_detail.destination = all_destination.destination
WHERE all_destination.pic IS NOT NULL

我的查询有什么问题?

【问题讨论】:

  • 究竟是什么不起作用?请提供更多详细信息
  • 错误是什么?

标签: php jquery mysql codeigniter


【解决方案1】:

您应该检查 MySQL 返回的错误是什么。它会告诉你错误是什么。

【讨论】:

  • 它没有给我错误。它给了我结果,其中还包括我不需要的列(pic)的空值。
  • 所以您的查询正在运行...但结果不是您所期望的。您应该使用提供的新详细信息更新您的问题(结果中包含空值)
【解决方案2】:

您只想删除IS NOT NULL 检查并拥有

SELECT * 
FROM  `travels_detail` 
INNER JOIN all_destination ON travels_detail.destination = all_destination.destination
WHERE all_destination.pic;

这只会返回设置了all_destination.pic 的记录。

【讨论】:

  • 它在删除不为空后给我 0 结果
  • 你使用的是什么版本的 MySQL @HarrisKhan?另外,我可以从表中看到一些您希望看到/看不到的记录吗?
【解决方案3】:

试试这个:

SELECT td.some_attribute
FROM  travels_detail as td
INNER JOIN all_destination as ad  ON td.destination = ad.destination
WHERE ad.pic IS NOT NULL

【讨论】:

    【解决方案4】:

    你可以试试这个..它最有效

    SELECT * FROM `travels_detail` INNER JOIN all_destination ON travels_detail.destination = all_destination.destination WHERE all_destination.pic ! = "" 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      相关资源
      最近更新 更多