同一列上的棘手减法

时间:2016-02-19 23:06:41

标签: sql

我有一个名为“价格”的表,有3个字段,一个用于国家,一个用于价格,一个用于日期。

我需要在确定日期的每个国家的价格之间做出改变。

我正在制作这段代码,但是它有效,但是对第一列的每个值进行减法,对另一个值进行减法。

nohup LD_LIBRARY_PATH=/opt/mjpg-streamer/mjpg-streamer-experimental/ /opt/mjpg-streamer/mjpg-streamer-experime$

不是我想要的,如果我拥有今天23个值的值,并且它的国家已经分配了23个值,我希望第一列的vale1,value2 .... value23与value1相邻。第二列的..value23。 相反,正在制作c1.value1-c2.value1,c1.vale1-c2.value2 ... c1.value1-c2.value23,c1.value2-c2.value,c1,value2-c2.value2 ... c1。 value2-c2.value23等。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您可以使用条件聚合或join方法。所以,这是一种方法:

SELECT ptg.fecha, ptg.hours, (ptg.prices - ptp.prices) AS DIFERENCIAL
FROM (SELECT pt.* 
      FROM PRICES_TABLE pt
      WHERE P = 'GERMANY' AND FECHA = '2016-01-17' 
     ) ptg JOIN
     (SELECT pt.*
      FROM PRICES_TABLE pt
      WHERE P = 'PANAMA' AND FECHA = '2016-01-17'
     ) ptp
     ON ptg.fecha = ptp.fecha and ptg.hours = ptp.hours;