0

我想用组连接(自动列)将 mysql 中 table1 的总值除以 table2 的值。

Manual like this: 
Select  A01-07-2013,B02-07-2013,C03-07-2013 INTO @d1,@d2,@d3 FROM Table1;
Update Table2 set Table2.A01-07-2013/@d1, 
Table2.B02-07-2013/@d2,Table2.C03-07-2013/@d3;

但我不知道在 mysql 的组连接中这样做。

例如,我有两个表,如下所示:

Table1
A01-07-2013 C02-07-2013 C03-07-2013
1000       2000       30000

Table2
A01-07-2013 B02-07-2013 C03-07-2013
100         40          50  
55          33          90

编码:

SET @actb_pmsum = NULL;
SELECT
    GROUP_CONCAT(DISTINCT CONCAT(
        "sum(`",DATE_FORMAT(`currentdate`,'%d-%m-%Y'),"`) as '",
        DATE_FORMAT(`currentdate`,'%d-%m-%Y'),"'"
        )
    ) INTO @actb_pmsum
FROM tabl1;
4

1 回答 1

0

假设您的表结构为

Table1
A01-07-2013 1000
C02-07-2013 2000
C03-07-2013 30000

Table2
A01-07-2013 100
A01-07-2013 55
B02-07-2013 40
B02-07-2013 33
C03-07-2013 50
C03-07-2013 90

以下应该工作

SELECT 
  table1.date,
  SUM(table1.value) / SUM(table2.value)
FROM
  table1 
  JOIN table2 ON ( table1.date = table2.date )
GROUP by
  table1.date

由于 mysql 没有交叉表,因此您可以根据您的要求格式化查询,还请注意,您可能需要进行交叉连接并且不处理任何一个表中的行

于 2013-08-04T05:12:54.207 回答