gpt4 book ai didi

mysql - 为什么我没有从 Rails 的 ifnull 中获取值

转载 作者:行者123 更新时间:2023-11-29 09:06:02 25 4
gpt4 key购买 nike

我有一个查询(很长,但要点如下)

Name.find_by_sql(['SELECT IFNULL(users.last_name, "nil") FROM users                  JOIN user_groups ON user_groups.user_id = users.id                  JOIN groups ON groups.id = user_groups.grous_id                  WHERE users.first_name IN (?)', ['Sam','Sally']]) AND groups.name='baseball'

现在山姆加入了棒球队,但莎莉不在。

我希望我能回来(Sam 的姓氏是 Hill)

['Hill','nil']

但我只得到['Hill']。我不知道为什么我没有得到“零”返回。我也在每个连接语句上尝试过“LEFT OUTER JOIN”,因为我认为这可能是“nil”丢失的地方,但我仍然只返回了一项。

最佳答案

您没有收到响应,因为您对 groups.name 的过滤器位于 WHERE 子句中。这将返回棒球组中的用户。如果您在 JOIN 处添加条件,那么您将返回不属于棒球组的用户,并且他们将具有预期的 NULL 值:

JOIN groups ON groups.id = user_groups.grous_id AND groups.name='baseball'

关于mysql - 为什么我没有从 Rails 的 ifnull 中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7015324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com