MySQL内部联接从两个结果

乔尼·查克

我在MySQL中有一个查询问题。我能够创建这些结果。

SELECT X.data, 
       SUM(X.costo_totale) AS 'COSTO TOTALE', 
       X.reparto 
FROM  (SELECT DISTINCT( DATE(start_date) ) 
                            AS 
                            'DATA', 
                      TRUNCATE(IFNULL(SUM(TIMESTAMPDIFF(minute, start_date, 
                                          end_date)) 
                               , 0) / 60, 2) AS 
                      'ORE', 
                      costo_orario, 
                      TRUNCATE(( IFNULL(SUM(TIMESTAMPDIFF(minute, start_date, 
                                            end_date 
                                            )), 0) / 60 ) * 
                               costo_orario, 2) 
                            AS 'costo_totale', 
                      event_name, 
                      reparto 
       FROM   `agoragroup_cgo_events` a 
              INNER JOIN `agoragroup_cgo_dipendenti` b 
                      ON a.section_id = b.id_utente 
       WHERE  reparto = 'CASSA' 
       GROUP  BY section_id, 
                 data, 
                 reparto) X 
GROUP  BY X.data, 
          X.reparto 
DATA    COSTO TOTALE    REPARTO
2014-10-27  645.85  CASSA
2014-10-28  677.99  CASSA
2014-10-29  496.42  CASSA
2014-10-30  586.43  CASSA
2014-10-31  744.76  CASSA
2014-11-01  874.75  CASSA
2014-11-02  702.15  CASSA

而这个查询

SELECT data,familia, 
       valore, 
       TRUNCATE(( valore * conseguito ) / 100, 2) AS 'Conseguito', 
       TRUNCATE(( valore * budget ) / 100, 2)     AS 'Budget' 
FROM   `agoragroup_dati_incidenza` f 
       INNER JOIN `agoragroup_chronoforms_data_margine_lordo_reparto` g 
               ON f.familia = g.reparto 
WHERE  familia = 'CASSA' 
       AND f.smk = 'LE OFFICINE' 
      data  familia valore      Conseguito  Budget 
2014-10-27  CASSA   21060.99    4052.13 3999.48 
2014-10-28  CASSA   23333.93    4489.44 4431.11 
2014-10-29  CASSA   24103.83    4637.57 4577.31 
2014-10-30  CASSA   26683.23    5133.85 5067.14
2014-10-31  CASSA   33008.14    6350.76 6268.24
2014-11-01  CASSA   54064.79    10402.06 10266.90 

我想通过日期字段中的数据

   data familia valore      Conseguito  Budget COSTO TOTALE
2014-10-27  CASSA   21060.99    4052.13 3999.48 645.8
2014-10-28  CASSA   23333.93    4489.44 4431.11 677.99
2014-10-29  CASSA   24103.83    4637.57 4577.31 496.42
2014-10-30  CASSA   26683.23    5133.85 5067.14 586.43
2014-10-31  CASSA   33008.14    6350.76 6268.24 586.43  

我已经尝试了很多方法,但是找不到解决方案

亚当·麦克331

我认为,如果您将他们一起加入,这很容易。您的条件可以是“数据”和“家庭/成员”相等。

试试这个:

SELECT w.data, t.familia, t.valore, t.conseguito, t.budget, w.costo_totale
FROM(SELECT X.data, SUM(X.costo_totale) AS 'COSTO TOTALE', X.reparto 
     FROM (SELECT DISTINCT(DATE(start_date)) AS 'DATA', 
                      TRUNCATE(IFNULL(SUM(TIMESTAMPDIFF(minute, start_date, end_date)) , 0) / 60, 2) AS 'ORE', 
                      costo_orario, 
                      TRUNCATE(( IFNULL(SUM(TIMESTAMPDIFF(minute, start_date, end_date)), 0) / 60 ) * costo_orario, 2) AS 'costo_totale', 
                      event_name, reparto 
           FROM   `agoragroup_cgo_events` a 
           INNER JOIN `agoragroup_cgo_dipendenti` b ON a.section_id = b.id_utente 
           WHERE  reparto = 'CASSA' 
           GROUP  BY section_id, data, reparto) X 
     GROUP  BY X.data, X.reparto) w
JOIN(SELECT data,familia, valore, 
            TRUNCATE(( valore * conseguito ) / 100, 2) AS 'Conseguito', 
            TRUNCATE(( valore * budget ) / 100, 2)     AS 'Budget' 
     FROM   `agoragroup_dati_incidenza` f 
     INNER JOIN `agoragroup_chronoforms_data_margine_lordo_reparto` g 
            ON f.familia = g.reparto 
     WHERE  familia = 'CASSA' 
     AND f.smk = 'LE OFFICINE') t
 ON t.data = w.data AND t.familia = w.reparto;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySql:更新与两个表上的内部联接挂起

来自分类Dev

在mysql查询中使用两个内部联接

来自分类Dev

重复的mysql结果返回了两个左联接

来自分类Dev

Laravel内部联接两个查询

来自分类Dev

两个表上的内部联接

来自分类Dev

两个变量的两个表的内部联接

来自分类Dev

两个表的内部联接查询未给出确切结果

来自分类Dev

MySQL联接两个表查询

来自分类Dev

MySQL联接查询两个表

来自分类Dev

mysql联接两个表的问题

来自分类Dev

MySql联接两个查询

来自分类Dev

MySQL联接两个表查询

来自分类Dev

如何联接两个mysql表

来自分类Dev

在MySQL中联接两个查询

来自分类Dev

如何优化具有两个不同内部联接的Mysql查询?(InnoDB的)

来自分类Dev

MYSQL内部联接仅根据两个条件计数一次

来自分类Dev

如何在MySQL中使用两个条件进行内部联接

来自分类Dev

MySQL查询从具有内部联接,别名的两个表中获取数据

来自分类Dev

MYSQL内部联接两个表相同的列名不同的值

来自分类Dev

使用内部联接和两个外部键联接两个表

来自分类常见问题

mysql:联接两个表,并拆分结果表的一列后

来自分类Dev

联接两个表的结果在MySql中为空白

来自分类Dev

MySQL的两个表联接总和不等于结果

来自分类Dev

PHP MySQL使用条件联接联接两个表

来自分类Dev

纯粹用Java的两个ArrayList的内部联接

来自分类Dev

具有相同表的两个内部联接

来自分类Dev

选择,然后在内部联接两个表

来自分类Dev

具有两个内部联接的PostgreSQL查询

来自分类Dev

具有两个表的内部联接查询