mysql - 子查询返回 Ifnull...NULL

标签 mysql sql

当我在 NULL 值上期望 0 时,为什么这个子查询返回 NULL 的任何想法:

SELECT
  (SELECT ifnull(visit.timestamp, 0) AS ifnull_1
   FROM keyword
   WHERE visit.keyword_id = keyword.id
   ORDER BY visit.timestamp DESC LIMIT 1) AS keyword_last_visit
FROM keyword
LEFT OUTER JOIN visit ON visit.keyword_id = keyword.id

keyword_last_visit 总是返回 NULL

最佳答案

CASE 试试这个

SELECT 
(SELECT (CASE WHEN visit.timestamp IS NULL THEN 0 ELSE visit.timestamp END) AS ifnull_1
   FROM keyword
   WHERE visit.keyword_id = keyword.id
   ORDER BY visit.timestamp DESC LIMIT 1) AS keyword_last_visit
FROM keyword
LEFT OUTER JOIN visit ON visit.keyword_id = keyword.id

关于mysql - 子查询返回 Ifnull...NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250472/

相关文章:

php - Codeigniter 事件记录从 mysql 获取记录,其中 ID 等于数组中的记录

sql - ActiveRecord 查找子资源的所有子资源

sql - MySQL:使用 2 个键,一个用于连接,一个用于排序?

html - 在 ASP.NET 中从 SQL 数据库检索 HTML 代码

android - 我可以使用 ContentResolver.query() 执行这个 Android 查询吗? (左连接和大小写)

PHP form, when category is selected also add category+.png in another row

mysql - 两列唯一组合

php - 我的 PHP 代码更新一张表时出现错误

php - MYSQL:将一个表插入到另一个表的开头并设置auto_increment

mysql - 具有多种属性的独特组合