counter
स्मार्टक्यूए का लोगो

Mysql: SUM() gives 4 times the value with multiple join and where conditions

"mysql: sum() gives 4 times the value with multiple join and where conditions" के लिए कोड उत्तर. हमें मिल 2 कोड उदाहरण पर स्मार्टक्यूए नीचे mysql श्रेणी।

आपको जो समाधान चाहिए वह खोजें!

हम 50 से अधिक भाषाओं के सामान्य प्रोग्रामिंग मुद्दों के लिए समाधान प्रदान करते हैं, आशा है कि इससे मदद मिलेगी!

उदाहरण #1

द्वारा user3600910 0👍
select 
ticket_history.ticket_id, 
CASE WHEN dynamic_field_value.field_id = 99 THEN dynamic_field_value.value_text else NULL END AS 'V1', 
CASE WHEN dynamic_field_value.field_id = 64 THEN dynamic_field_value.value_text else NULL END AS 'V2', SUM(time_accounting.time_unit)/count(case when time_accounting.time_unit=0.25 then time_accounting.id end), 
max(ticket_history.change_time)

from ticket_history 
left join time_accounting on ticket_history.ticket_id = time_accounting.ticket_id 
left join dynamic_field_value on ticket_history.ticket_id = dynamic_field_value.object_id AND dynamic_field_value.field_id IN (99,64) 

where ticket_history.ticket_id=12748 AND ticket_history.history_type_id IN (1,27) AND ticket_history.state_id IN (2,3);
The

उदाहरण #2

द्वारा Arun Krish 1👍
SELECT 
ticket_history.ticket_id,
CASE WHEN dynamic_field_value.field_id = 99 THEN dynamic_field_value.value_text else NULL END AS 'V1', 
CASE WHEN dynamic_field_value.field_id = 64 THEN dynamic_field_value.value_text else NULL END AS 'V2', 
(SELECT SUM(time_unit) FROM time_accounting WHERE ticket_id =ticket_history.ticket_id) AS time,
MAX(ticket_history.change_time) 

FROM ticket_history 
LEFT JOIN time_accounting on ticket_history.ticket_id = time_accounting.ticket_id 
LEFT JOIN dynamic_field_value on ticket_history.ticket_id = dynamic_field_value.object_id AND dynamic_field_value.field_id IN (99,64) 
WHERE ticket_history.ticket_id=12748 AND ticket_history.history_type_id IN (1,27) AND ticket_history.state_id IN (2,3)
ticket_id   V1      V2      time    max(ticket_history.change_time)     
  12748     NULL    test    2.25    2015-10-07 09:47:43
प्रश्न और उत्तर स्टैक ओवरफ़्लो से एकत्र किए जाते हैं, cc by-sa 2.5, cc by-sa 3.0 और cc by-sa 4.0 के तहत लाइसेंस प्राप्त होते हैं।

समान प्रश्न