MySQL案例左连接返回NULL
我有一个带有CASE语句的查询,该语句确定变量MySQL案例左连接返回NULL,mysql,join,left-join,case,Mysql,Join,Left Join,Case,我有一个带有CASE语句的查询,该语句确定变量object\u name该变量派生自x\u表或x\u trybes表。下面的查询是组合在一起的,这样我就可以通过执行一个SQL查询来保持简单 我已将SELECT语句分成两部分,以便您更好地理解。下面是两个问题。工作并从数据库中提取正确的对象名称 当我组合这两个查询时,遇到的问题是,左连接中的案例“new\u join\u野心”,“new\u created\u野心”,“new\u like\u野心”object\u name返回NULL 在组合查询
object\u name
该变量派生自x\u
表或x\u trybes
表。下面的查询是组合在一起的,这样我就可以通过执行一个SQL查询来保持简单
我已将SELECT语句分成两部分,以便您更好地理解。下面是两个问题。工作并从数据库中提取正确的对象名称
当我组合这两个查询时,遇到的问题是,左连接中的案例“new\u join\u野心”,“new\u created\u野心”,“new\u like\u野心”
object\u name返回NULL
在组合查询中,如果我在'new\u join\u trybe'、'new\u created\u野心'、'new\u liked\u野心'
的上面加上案例:'new\u join\u trybe'、'new\u created\u trybe'、'new\u liked\u trybe'
案例。情况正好相反。trybe行返回NULL
两个SQL查询:
A:(检索对象A)
B:(检索对象B)
我已经运行了这两个查询,并捕获了这两个查询结果的图像
设置一个:
B组:
如何在对象名称不返回NULL的情况下组合这两者?如果你有任何问题,请使用评论,我会毫不犹豫地回答
提前感谢我不知道您的其余查询,但您的
案例
陈述不正确。你有:
(CASE s.type
WHEN 'new_join_ambition' OR 'new_created_ambition' OR 'new_liked_ambition'
THEN a.name
ELSE 'a'
END) AS object_name
或
s最终将值视为数字,因此这相当于当0时,则代码>
您需要的是这种形式的案例
:
(CASE WHEN s.type IN ('new_join_ambition', 'new_created_ambition', 'new_liked_ambition')
THEN a.name
ELSE 'a'
END) AS object_name
你能做把小提琴吗。并张贴准确的预期输出他的作品!谢谢你。但我看到的一件事是重复的,当s.输入('new\u join\u trybe','new\u created\u trybe','new\u like\u trybe')然后输入t.name
。我只是很挑剔,但谢谢你!:)
(CASE s.type
WHEN 'new_join_ambition' OR 'new_created_ambition' OR 'new_liked_ambition'
THEN a.name
ELSE 'a'
END) AS object_name
(CASE WHEN s.type IN ('new_join_ambition', 'new_created_ambition', 'new_liked_ambition')
THEN a.name
ELSE 'a'
END) AS object_name