我有一个查询,如下所示。

 select a.ab as new from tab a inner join tab b on a.ab=b.ab

当我尝试运行其显示。
  MySQL returned an empty result set (i.e. zero rows).

因为没有针对所选条件的行。

我需要的实际输出是。
 new
 ----
 NULL

所以我试图在下面添加此查询。
 select COALESCE(a.ab,'') as new from tab a inner join tab b on a.ab=b.ab

仍然是它的付出
 MySQL returned an empty result set (i.e. zero rows).

因此,当MYSQL返回空集时如何显示NULL值。感谢任何帮助。

最佳答案

您可以只使用Outer select。如果要从数据库中获取Outer select的实际值(如果有0行),请使用NULL封装查询,

SELECT
    (
      SELECT a.ab
      FROM
          tab a INNER JOIN tab b
           ON a.ab=b.ab
    ) As New;

您可以将替代方法与UNION ALLLIMIT一起使用
作为,
      SELECT a.ab
      FROM
          tab a INNER JOIN tab b
           ON a.ab=b.ab
      UNION ALL
      SELECT NULL
      LIMIT 1

关于mysql - MySQL返回空结果集时返回NULL值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28872458/

10-16 16:39