繁体   English   中英

MySQL子查询返回空

Mysql sub-query return null

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

嗨,我是一个初学者,我正在尝试使子查询的所有结果行都为null,以返回0而不为null。 但我遇到一个错误。 我将非常感谢任何建议。 谢谢

错误代码:1064您的SQL语法错误; 检查与您的MySQL服务器版本相对应的手册,以在'AS'Income'附近使用正确的语法

SELECT  

 COUNT(DISTINCT t1.id) AS 'Val1',


     COALESCE((SELECT SUM(CAST(COALESCE(r.t_payment_total,0) AS DECIMAL(18,2))) AS 'Income'
FROM reserv r
INNER JOIN newtbladds1 t ON t.t_parent_id = r.id
 WHERE r.t_status!="Pending" && r.t_status!="Booked" AND r.c_mid = m.id AND  t.t_type_id = t1.t_type_id 
 ),0)AS 'Income'



 FROM tbladds1 t1
JOIN tbladds1_type tt ON tt.id = t1.t_type_id
JOIN tbladdress m ON m.id = t1.t_mid
JOIN tbladdressfr mf ON mf.id = t1.t_floor_id
JOIN tblppl mp ON mp.t_mid = m.id AND mp.t_type = 'try' AND mp.t_system_id = 'ok'
GROUP BY t1.t_tool_type_id
ORDER BY m.t_m ASC, tt.t_ttype ASC, mf.t_floor ASC;

输出我删除了COALESCE我为空

Val1           Income
10              Null
2               30
23              10
5               Null

期望的输出

Val1           Income
10              0
2               30
23              10
5               0
1 个回复

我建议将子查询移至from子句

SELECT
    t1.t_tool_type_id
  , COUNT( DISTINCT t1.id ) AS `Val1`
  , COALESCE(i.Income , 0 ) AS `Income`
FROM tbladds1 t1
JOIN tbladds1_type tt ON tt.id = t1.t_type_id
JOIN tbladdress m ON m.id = t1.t_mid
JOIN tbladdressfr mf ON mf.id = t1.t_floor_id
JOIN tblppl mp ON mp.t_mid = m.id
    AND mp.t_type = 'try'
    AND mp.t_system_id = 'ok'
left join (
        SELECT
             CAST( SUM(r.t_payment_total) AS decimal(18, 2) ) AS `Income`
        FROM reserv r
        INNER JOIN newtbladds1 t ON t.t_parent_id = r.id
        WHERE r.t_status != 'Pending'
        AND r.t_status != 'Booked'
        AND r.c_mid = m.id
        GROUP BY
            t.t_type_id
    ) as i on t1.t_type_id = i.t_type_id
GROUP BY
    t1.t_tool_type_id
;

nb:我假设r.t_payment_total是数字。

我还建议您始终将单引号用于值/文字,并在MySQL反引号中使用标识(例如列标题),但实际上它们在此查询中不是必需的。

1 MySQL子查询返回空

当我执行下面的查询时,它返回NULL。 当我取出最后一行时,它返回记录,但是当我添加它时,我什么也没得到,因此它使我相信这是我的子查询的问题。 当我自己执行子查询时,我得到两个ID(14和15)。 当我将子查询替换为:“ AND s.id IN(14,15);” ...有用。 ...

2 如果一个子查询为空,则mysql查询返回空

我将以下查询与用PHP编写的子查询一起使用。 每当子查询之一与任何行都不匹配时,都会发生我的问题,整个查询返回null而不是仅仅为user_article_count或user_comment_count返回null。 如何避免这种情况? ...

3 mysql查询返回空结果

伙计们我正在尝试在以下查询中将评论表加入帖子表。 它返回空结果不知道我要去哪里错了??? 任何帮助,将不胜感激。 这是我的数据库模式: 根据Arsh的要求,我在此处发布了整个代码: $row1 var_dump值: ...

4 带IN的MySQL查询返回空

我在运行带有IN键的查询时返回空的问题。 这是我的查询: 该查询返回正确的结果。 但是,如果我使用IN (2,3)或IN (2)表示结果为零。 例如。 表sc_miscellaneous : 提前谢谢。 ...

2014-12-26 06:41:59 3 84   php/ mysql
5 MySQL查询返回空结果

我有一个简单的SELECT语句,它通过who_added调用了coupon表中的所有列。 代码: 优惠券型号: 结果:如您所见,即使我的表中有数据,这里也为空。 问题:表中的数据未显示在结果中。 我试图在MySQL工作台上查询同一条语句,但效果很好。 我哪里做错了? ...

6 为什么这个mysql查询返回空结果

此功能旨在从两个单独的表医生和诊所返回医生的信息 当我这样调用函数时,它工作正常: 当我这样称呼它时不是这样的: 我花了最后两天的时间来寻找原因,但没有进行任何操作,我已经url_decoded字符串变量$name尝试了多种不同的方法来处理数据库中的数据类型,但也没有, ...

7 MySQL查询返回空

在以下代码中,我希望检查用户名是否可用。 问题是,尽管我键入的用户名存在,但每次给我“用户名可用”。 我认为查询返回名称的问题。 我试图解决它,但我做不到。 代码的第二部分: ...

8 MySQL查询返回空

我有2张桌子-帖子和postmeta。 和 我正在尝试运行一个查询,该查询将为我提供具有以下条件的帖子列表: 谁针对城市的价值为1并且 其特征值是h或两者都为AND 帖子状态为“发布并” 帖子类型为商店 按标题订购 我正在尝试查询 ...

2012-06-19 16:13:58 3 136   mysql
9 MYSQL和PHP:没有结果的SELECT子查询返回空值的数组键

我有一个包含游戏,文章(评论和预览)和视频(视频评论+视频预览)的数据库。 我有一个ID为233的游戏,如果存在,我想找到一个评论,一个预览,一个视频评论和视频预览。 为此,我使用以下查询: 但是,此查询有两个问题: 它查询数据库五次,这对我来说似乎不是很有效。 ...

2015-12-21 10:59:37 1 203   php/ mysql
10 MySQL查询返回空对象

我在nodeJS中使用mysql包查询我的结果,但是在检索数据时遇到了麻烦 第一个console.log(data)返回一个对象,但是最后一个返回未定义的值 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM