假设我有一个包含三列的表:id,title,entity_type,并且取决于entity_type的值,我想使用子查询从其他表中检索一个值。如果我将查询编写为:
Select current_table.id,
(SELECT status FROM other_table join current_table on other_table.entity_id = current_table.id where entity_type = "some_type") as status
from current_table
我将只返回entity_type =“some_type”的记录,但我想从current_table中检索所有数据并使子查询结果可选,并且在该列中为其他entity_type保留null。 实际上,对于多个连接,查询要大得多,这就是为什么我不想使用左连接,而不是制动整个查询。 我的目标如何实现?
答案 0 :(得分:0)
除非我误解了你的目标已经 ,否则如果在子查询中找不到行,SELECT * FROM servers WHERE Node LIKE '%\_deeh32q6610007'
将为NULL。
你真的应该重构你的查询以使用外连接,即使这很痛苦,因为从性能的角度来看它会更好。当然,如果查询只返回几行,则无关紧要。