mysql自我加入

0 mysql inner-join

我有一个名为receive with 4 column的表:

id, date, volume, volume_units
Run Code Online (Sandbox Code Playgroud)

音量单位始终存储为"Lbs"或"Gals"的值.

我正在尝试编写SQL查询以获取特定日期范围内Lbs和Gals的卷总和.类似的东西:(这不起作用)

SELECT sum(p1.volume) as lbs, 
p1.volume_units, 
sum(p2.volume) as gals, 
p2.volume_units 
FROM receiving as p1, receiving as p2
where p1.volume_units = 'Lbs'
and p2.volume_units = 'Gals' 
and p1.date between "2012-01-01" and "2012-03-07" 
and p2.date between "2012-01-01" and "2012-03-07" 
Run Code Online (Sandbox Code Playgroud)

当我单独运行这些查询时,结果就会消失.我知道连接在这里是错误的,但我不知道我做错了什么来解决它.

zer*_*kms 5

  SELECT SUM(volume) AS total_sum,
         volume_units
    FROM receiving
   WHERE `date` BETWEEN '2012-01-01'
                    AND '2012-03-07'
GROUP BY volume_units
Run Code Online (Sandbox Code Playgroud)