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

MYSQL और क्वेरी एक ही कॉलम पर संतुष्ट करने के लिए

क्योंकि stop_id एक ही पंक्ति में दो अलग-अलग मान नहीं हो सकते हैं।

आप जो चाहते हैं उसे करने का एक तरीका एकत्रीकरण है:

SELECT b.bus_name
FROM buses b JOIN
     route_connect rc
     ON rc.busid = b.id JOIN
     stops s
     ON s.id = rc.stop_id
GROUP BY b.bus_name
HAVING SUM( s.stop_name = 'Sydney' ) > 0 AND
       SUM( s.stop_name = 'Melbourne' ) > 0;

यह उन बसों को लौटाता है जो दोनों शहरों के नाम से रुकती हैं।

यह देखते हुए कि बसों के बहुत सारे स्टॉप हो सकते हैं, ऐसा करना अधिक कुशल हो सकता है:

SELECT b.bus_name
FROM buses b JOIN
     route_connect rc
     ON rc.busid = b.id JOIN
     stops s
     ON s.id = rc.stop_id
WHERE s.stop_name in ('Sydney', 'Melbourne')
GROUP BY b.bus_name
HAVING COUNT(DISTINCT s.stop_name) = 2;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP का उपयोग करके MySQL डेटाबेस से छवियों को कैसे पढ़ा जाए?

  2. MySQL में एक स्ट्रिंग और एक संख्या को संयोजित करें

  3. सभी यूनिकोड वर्णों को स्वीकार करने के लिए कौन सा MySQL संयोजन सबसे अच्छा है?

  4. गलत स्ट्रिंग मान त्रुटियों को कैसे ठीक करें?

  5. Laravel 5.8 में फॉरेन की बनाना क्यों विफल हो रहा है?