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

वांछित परिणाम उत्पन्न करने के लिए मुझे यह MySQL क्वेरी में शामिल नहीं हो सकता है

मुझे पूरा यकीन है कि आपकी समस्या आपके GROUP BY . के कारण है खंड। सुनिश्चित नहीं है कि इसका उपयोग करने में आपका उद्देश्य क्या था, लेकिन इसके बिना प्रयास करें। यदि आपको डुप्लीकेट पंक्तियां मिलती हैं, तो SELECT DISTINCT . का उपयोग करके देखें . यदि आपका उद्देश्य उस कॉलम के आधार पर परिणामों को क्रमित करना था, तो ORDER BY . का उपयोग करें ।

साथ ही, receipt_no . निर्दिष्ट करना WHERE . में दो बार उपवाक्य अनावश्यक है। वे दो टेबल पहले से ही उस कॉलम से जुड़े हुए हैं, इसलिए इसे एक टेबल में फ़िल्टर करना आपको बस इतना करना है। और कुछ विशेष अपवादों को छोड़कर बैकटिक्स वास्तव में आवश्यक नहीं हैं, जैसे कॉलम नाम में रिक्त स्थान या अल्पविराम, या आरक्षित शब्दों के समान नाम वाले कॉलम (कुछ अन्य भी हो सकते हैं)। आपका एकमात्र कॉलम जो ऐसा लगता है कि उसे बैकटिक्स की आवश्यकता है, वह है date कॉलम, लेकिन उस कॉलम पर उन्हें छोड़कर, आपको अभी भी ठीक होना चाहिए। मुझे लगता है कि बैकटिक्स हर जगह क्वेरी को पढ़ने में लंबा और कठिन बना देता है। वे वहां होने से कुछ भी चोट नहीं पहुंचाते हैं, इसलिए यदि आपकी पसंद है तो आप उन्हें छोड़ सकते हैं, लेकिन व्यक्तिगत रूप से, मैं प्रशंसक नहीं हूं।

मैंने ऊपर बताए गए अपने संशोधनों के साथ आपकी क्वेरी को फिर से लिखा, साथ ही मैंने इसे और छोटा करने के लिए टेबल उपनाम दिए। यह प्रदर्शन या किसी भी चीज़ में सुधार नहीं करता है, बस IMO को पढ़ना आसान बनाता है:

SELECT DISTINCT
    b.receipt_no, client, operator, discount, total_amount,
    amount_paid, balance, `date`, jobtitle, quantity,
    amount, date_paid, old_balance, debtor_amount_paid, new_balance
FROM
    booking b
    INNER JOIN jobtitle jt ON jt.bookingID = b.bookingID
    INNER JOIN first_graphics_debtors fgd ON fgd.receipt_no = b.receipt_no
WHERE
    b.receipt_no = '753263343'
ORDER BY
    jt.quantity


  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. 134217728 बाइट्स की अनुमत स्मृति आकार समाप्त हो गया (42 बाइट्स आवंटित करने का प्रयास किया गया)

  3. MySql 8.0.15 स्थापित विफलता अमान्य सर्वर टेम्पलेट

  4. mysql कमांड लाइन रिटर्न निष्पादन समय?

  5. कोडइग्निटर 'MySQL चला गया है'