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

कई-से-अनेक संबंधों के साथ कई तालिकाओं में जेपीए क्वेरी

मुझे लगता है कि आपकी क्वेरी गलत हो सकती है, जो समस्या का कारण हो सकती है।

आप वर्तमान में उपयोग कर रहे हैं:

 SELECT h FROM Hospital h
     INNER JOIN Medical_Service m ON h.hospital_id = m.hospital_id
     WHERE h.Postcode = :postcode AND m.Medical_name = :medical

समस्या यह हो सकती है कि Medical_Service में Hospital_id फ़ील्ड नहीं है (जॉइन में प्रयुक्त)।

यदि आप स्थानीय प्रश्नों का उपयोग करके खुश हैं तो आप यह कर सकते हैं:

 SELECT * FROM Hospital WHERE Postcode = 3000 AND Hospital_id IN
    (SELECT Hospital_id FROM Hospital_Medical hm INNER JOIN Medical_Service m ON hm.Medical_id = m.Medical_id
    where Medical_name = 'Emergency')

आंतरिक चयन उन अस्पतालों के लिए सभी Hospital_id प्राप्त करता है जो आपातकालीन सेवा प्रदान करते हैं। बाहरी चयन तब उन सभी अस्पतालों का चयन करता है जहां Hospital_id आंतरिक चयन में है (यानी वे एक आपातकालीन सेवा प्रदान करते हैं) लेकिन केवल 3000 के पोस्टकोड वाले अस्पतालों का चयन करते हैं।

मूल क्वेरी का उपयोग करने के लिए आप कुछ इस तरह करेंगे:

    int postcode = 3000;
    String service = "Emergency";

    StringBuilder sb = new StringBuilder(); 
        sb.append("SELECT * FROM Hospital WHERE Postcode = ");
        sb.append(postcode);
        sb.append("AND Hospital_id IN SELECT Hospital_id FROM Hospital_Medical hm INNER JOIN "
                + "Medical_Service m ON hm.Medical_id = m.Medical_id where Medical_name = '");
        sb.append(service);
        sb.append("')");

    String queryString = sb.toString();
    Query query = em.createNativeQuery(queryString);
    List<Hospital> result = query.getResultList();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel वाक्पटु आवरण पर ध्यान न दें

  2. फ्रंट एंड mysql, एक पंक्ति को हटा रहा है

  3. उपयोगकर्ता के स्थान के आधार पर क्वेरी डेटाबेस मान

  4. MYSQL:यदि कथन के साथ प्रक्रिया

  5. डुप्लीकेट कुंजी अपडेट पर MySQL