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

कॉम्प्लेक्स MySQL ग्रुप बाय के साथ जुड़ें

मुझे लगता है कि आप यह सब एक बार में नहीं कर सकते क्योंकि आप एक ही समय में अलग-अलग तालिकाओं से आइटम समूह/योग करना चाहते हैं। इसे आजमाएं:

 select unit, name, stays, days, total_price, charges, mgmt_fee,
   (total_price*.01*mgmt_fee) AS management,
   (total_price-(total_price*.01*mgmt_fee)-charges)  AS bal
 from (
 select 
   x.unit, 
   name, 
   count(*) as stays, 
   sum(days) as days, 
   sum(total_price) as total_price, 
   charges,
   mgmt_fee
 from
 (select 
   unit , 
   datediff(depart,arrival) as days,  
   total_price
 from
   Reservations
  ) as x
 join (
   select unit, sum(amount) as charges
   from Charges
   group by unit
   ) as y
 on x.unit = y.unit
 join Unit  as u
 on u.id = x.unit
 group by unit
 ) as inner_result

बहुत साफ-सुथरा या सुरुचिपूर्ण नहीं है, लेकिन मुझे लगता है कि यह काम करता है। ध्यान दें कि आपको सावधान रहना होगा यदि प्रति यूनिट शुल्क में 1 पंक्ति हो सकती है। इसे चलाने के लिए यहां एक पहेली है:http://sqlfiddle.com/#!2/f05ba/18




  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. SQL क्वेरी एकाधिक तालिकाओं से डेटा लौटाती है

  3. थ्रेड मुख्य org.hibernate.HibernateException में अपवाद:स्टैक्स स्ट्रीम तक पहुँचने में त्रुटि

  4. MySQL में डेटाबेस कैसे बनाएं

  5. संख्यात्मक भाग द्वारा अल्फ़ान्यूमेरिक स्ट्रिंग को ऑर्डर करने के लिए SQL