Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैसकल दो टेबल योग में शामिल हों, जहां और समूह द्वारा

आप भुगतान राशि को बिक्री रिकॉर्ड की संख्या से गुणा कर रहे हैं, क्योंकि आप सभी भुगतान रिकॉर्ड को सभी बिक्री रिकॉर्ड के साथ जोड़ रहे हैं, इससे पहले कि आप राशि का योग करें।

पहले एकत्र करें, और उसके बाद ही शामिल हों।

मामले में प्रति दिनांक, समय और नाम के लिए हमेशा केवल एक भुगतान रिकॉर्ड हो सकता है:

select p.name, p.time, p.name, s.sales_total, p.amount
from payments p
join
(
  select date, time, name, sum(total) as total
  from sales
  group by date, time, name
) s
 on s.date = p.date and s.time = p.time and s.name = p.name
where p.date = date '2017-04-01';

अन्यथा:

select p.name, p.time, p.name, s.total, p.amount
(
  select date, time, name, sum(amount) as amount
  from payments
  group by date, time, name
) p
join
(
  select date, time, name, sum(total) as total
  from sales
  group by date, time, name
) s
 on s.date = p.date and s.time = p.time and s.name = p.name
where p.date = date '2017-04-01';



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - अलग-अलग स्थितियों के साथ दो चीजें गिनना

  2. MySQL में विशेषाधिकार कैसे घटाएं?

  3. एक डेटाबेस में एक ऐरे और उसकी चाबियों को सहेजने का एक प्रभावी तरीका

  4. MySQL 5.6 . में रूट पासवर्ड रीसेट करना

  5. डेटाबेस में नई टेबल/इकाइयां जोड़ने के लिए जावा ईई/जेपीए तरीका