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

mysql में दो तालिकाओं से डेटा प्राप्त करना, शामिल होना यहां काम नहीं करेगा

अगर मैं सही ढंग से समझ गया हूं, तो आपको वह करना चाहिए जो आपको चाहिए:

$result = mysql_query("SELECT (specName, (IF EXISTS (SELECT * FROM user_specialty us WHERE s.id = us.sid AND us.uid = '$id' LIMIT 1))) FROM specialities s;");
while (list($spec, $checked) = mysql_fetch_array($result)) {
    // Do your outputting here.
}

संपादित करें

आपके अनुरोध के अनुसार, मैं आगे बढ़ूंगा और प्रश्न की व्याख्या करूंगा। वह हिस्सा जो शायद आपको भ्रमित कर रहा है वह यह सबक्वेरी है:

(IF EXISTS (SELECT * FROM user_specialty us WHERE s.id = us.sid AND us.uid = '$id' LIMIT 1))

IF EXISTS MySQL को या तो TRUE या FALSE वापस करने के लिए कहता है यदि इसके तुरंत बाद वाला भाग 'मौजूद' है (इसमें एक परिणाम है)। SELECT * FROM user_specialty us WHERE s.id = us.sid AND us.uid = '$id' LIMIT 1 बस MySQL को user_specialty में एक पंक्ति खोजने के लिए कहता है जहां s.id = us.sid (विशेषता आईडी मेल खाता है) और us.uid = '$id' (आईडी उपयोगकर्ता का है)।



  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 mysqldump फ़ाइल से एकल तालिका को पुनर्स्थापित कर सकता हूं?

  2. कुछ प्रश्नों के योग परिणाम और फिर SQL में शीर्ष 5 खोजें

  3. Mysql दो डेटाटाइम फ़ील्ड की तुलना करें

  4. डोकर में मैसकल के साथ सीक्वल प्रो

  5. PHP के माध्यम से SSH के माध्यम से एक mysql डेटाबेस से कनेक्ट करें