gpt4 book ai didi

Mysql 内连接两个结果

转载 作者:行者123 更新时间:2023-11-29 23:29:08 27 4
gpt4 key购买 nike

我在 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

尝试了很多方法都没有找到解决办法

最佳答案

我认为如果你把它们结合在一起就很容易了。您的条件可以是“data”和“familia/reparto”相等。

试试这个:

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;

关于Mysql 内连接两个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com