我是以下查询,我只希望第一个左连接的结果返回地址的结果(add1 / 2/3)。是否有可能,或者我应该将其全部归还并在以后提交结果?
select
-- if add1 has no results
-- select add2
-- if add2 has no results
-- select add3
from names n, matter_counsel mc, counsel c
left join(
FLUFF
) as add1 on X
left join(
FLUFF
) as add2 on Y
left join(
FLUFF
) as add3 on Z
where FLUFF
例如,如果add1返回1个地址,则add2返回1个地址,add3返回3个地址,我只想要add1的结果集。
Coalesce会给我不正确的结果,其中add1来自记录1,另外两个来自add3。
先谢谢。
答案 0 :(得分:0)
是的,有可能。除非你讨厌自己(或者你的数据集非常小),否则很少有更好的选择来在查询后过滤结果。
话虽如此,基于我们必须使用的信息,我可能会建议您尝试使用子查询来实现所需的结果。但是,如果没有其他信息,可能无法准确回答您可能需要的更改。因为很难确切地知道你最终的结果是什么。
如@jarlh所述,您可能希望阅读“How to create a Minimal, Complete, and Verifiable example”并发布一些数据示例或明确说明您需要的内容。
答案 1 :(得分:0)
我认为你想要合并功能。
从名称n,物料清单mc,顾问c中选择合并(add1.val,add2.val,add3.val) 左连接( 起毛 )作为X上的add1 左连接( 起毛 )作为Y上的add2 左连接( 起毛 )作为Z上的add3