如何在名称中使用包含空格的列的左连接?

时间:2016-06-19 15:32:35

标签: sql join left-join

这是我查询的第一部分,我从表ANP_Combustiveis中选择了三列:

select [MÊS],[PREÇO MÉDIO DISTRIBUIÇÃO],[PREÇO MÉDIO REVENDA] 
from ANP_Combustiveis 
WHERE PRODUTO = 'ETANOL HIDRATADO'

我现在要做的是在左连接中使用这些字段。例如:

select distinct [MÊS] from ANP_Combustiveis as A
left join 
(select [MÊS],[PREÇO MÉDIO DISTRIBUIÇÃO],[PREÇO MÉDIO REVENDA] 
        from ANP_Combustiveis WHERE PRODUTO = 'ÓLEO DIESEL S10') as B
    on A.[MÊS]=B.[MÊS]

我该如何做到这一点?

2 个答案:

答案 0 :(得分:1)

缺少的唯一元素是第一栏中的别名

select distinct A.[MÊS] from ANP_Combustiveis as A
left join 
     (select [MÊS],[PREÇO MÉDIO DISTRIBUIÇÃO],[PREÇO MÉDIO REVENDA] 
    from ANP_Combustiveis WHERE PRODUTO = 'ÓLEO DIESEL S10') as B
on A.[MÊS]=B.[MÊS]

答案 1 :(得分:0)

我不知道这是否能解决您的问题,但查询相当于:

select distinct A.[MÊS]
from ANP_Combustiveis A;

left join根本没有做任何事情,因为left join会保留第一个表中的所有行 - 这就是您选择值的位置。

如果此查询没有达到您想要的效果,我建议您提出另一个问题并提供样本数据和所需结果。