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

यह क्वेरी SQLite में क्यों काम नहीं करती है लेकिन MySQL और MSAccess में ठीक काम करती है?

SQLite में, आपको INTEGER PRIMARY KEY का उपयोग करके एक ऑटोइनक्रिमेंटिंग कॉलम मिलता है। .(और यदि आप payers.id . के वास्तविक मूल्यों पर भरोसा करते हैं प्रश्न में, आपको उन्हें स्पष्ट रूप से देना चाहिए।)

जब जरूरत न हो तो आपको नेस्ट जॉइन करने की कोशिश नहीं करनी चाहिए:

SELECT payer_payment.payer_id,
       Sum(payer_payment.amount)                             AS total_paid,
       Sum(payer_payment.pays * payments_share.single_share) AS fair_share
FROM       payers
INNER JOIN payer_payment
        ON payers.id = payer_payment.payer_id
INNER JOIN (SELECT payment_id,
                   Sum(amount) / Sum(pays) AS single_share
            FROM   payer_payment
            GROUP  BY payment_id) AS payments_share
        ON payer_payment.payment_id = payments_share.payment_id
WHERE payers.user_id = 1
GROUP BY payer_payment.payer_id;

SQLFiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PhpMyAdmin में रूट लॉगिन अक्षम करें

  2. JSON से MYSQL - क्या JSON प्रतिक्रिया सही ढंग से स्वरूपित है - ठीक से लूपिंग?

  3. जांचें कि क्या ईमेल पहले से डेटाबेस में मौजूद है

  4. डेटाबेस से एकाधिक ड्रॉपडाउन सूची भरने के लिए jQuery

  5. SQLSTATE [42000]:सिंटैक्स त्रुटि या पहुँच उल्लंघन:1064 आपको अपने SQL सिंटैक्स — PHP — PDO में त्रुटि है