我有一个查询,如下所示。
select a.ab as new from tab a inner join tab b on a.ab=b.ab
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它的显示时。
MySQL returned an empty result set (i.e. zero rows).
Run Code Online (Sandbox Code Playgroud)
因为所选条件没有行。
我需要的实际输出是。
new
----
NULL
Run Code Online (Sandbox Code Playgroud)
所以我试图在下面添加这个查询。
select COALESCE(a.ab,'') as new from tab a inner join tab b on a.ab=b.ab
Run Code Online (Sandbox Code Playgroud)
仍然是它的给予
MySQL returned an empty result set (i.e. zero rows).
Run Code Online (Sandbox Code Playgroud)
那么当 MYSQL 返回空集时如何显示 NULL 值。感谢任何帮助。
你可以只使用Outer select. 使用 封装查询Outer select,如果您希望NULL在 0 行的情况下从数据库中获取实际值,
SELECT
(
SELECT a.ab
FROM
tab a INNER JOIN tab b
ON a.ab=b.ab
) As New;
Run Code Online (Sandbox Code Playgroud)
您可以使用UNION ALL 和LIMIT
作为替代方案,
SELECT a.ab
FROM
tab a INNER JOIN tab b
ON a.ab=b.ab
UNION ALL
SELECT NULL
LIMIT 1
Run Code Online (Sandbox Code Playgroud)