【发布时间】:2021-01-04 06:49:30
【问题描述】:
我通过以下方式使用 IFNULL:
SELECT name, address, birthday, IFNULL(GROUP_CONCAT(pet_name), 'none') AS `pets_names` FROM pets WHERE user_id = 1;
但是,如果我没有用户 1,因此没有结果,我将得到一个单行,其中所有字段都为空,除了 pet_names 会显示“无”。我尝试将其设置为仅在 user_id IS NOT NULL 时才给出一个值,但随后我得到了一行,每个值都为 NULL。使用 IFNULL 时如何让它不返回任何行?
【问题讨论】:
-
如果我没有用户 1,因此没有结果,我将得到一个单行,其中所有字段都为空,除了 pet_names 会显示“无”。 不可能。您必须收到空集,根本没有行。如果您看到一行包含空值和“无”,那么这就是您的客户端“服务”。
-
这是我在 Sequel Pro 以及通过服务获得的结果
-
通过 CLI 尝试相同的操作。