group_concat在mysql中的不同表中划分两个值

时间:2013-08-04 02:06:54

标签: mysql stored-procedures

我想将table1的总值与mysql中table2的值除以group concate(Auto Column)。

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;

1 个答案:

答案 0 :(得分: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没有交叉表,你可以根据你的要求格式化你的查询,同时注意你可能需要进行交叉连接并且不处理来自任何一个表的行