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

किसी अन्य तालिका द्वारा आदेशित mysql तालिका से मूल्य कैसे प्राप्त करें?

Ref_types तालिका में ReferenceType कॉलम होने के अलावा, आपको एक Reference_ID कॉलम की भी आवश्यकता होती है जो संबंधित तालिका में वास्तविक आईडी को विदेशी कुंजी

//ref_types table
ID Article_ID ReferenceType Reference_ID
1  1          book          1
2  1          article       1
3  1          article       2
4  1          book          2

फिर, आप WHILE लूप से बच सकते हैं और जॉइन के साथ MySQL को आपके लिए काम करने दें:

SELECT CONCAT('record ', rt.ID, ': ',
  COALESCE(ar.Article_Title, tr.Thesis_Title, br.Book_Title))
FROM ref_types rt
LEFT JOIN article_refs ar
  ON rt.ReferenceType = 'article' AND ar.ID = rt.Reference_ID
LEFT JOIN book_refs br
  ON rt.ReferenceType = 'book' AND br.ID = rt.Reference_ID
LEFT JOIN thesis_refs tr 
  ON rt.ReferenceType = 'thesis' AND tr.ID = rt.Reference_ID

परिणाम देता है:

record 1: book1
record 2: article1
record 3: article2
record 4: book2


  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 ग्रुप द्वारा या PHP का उपयोग करके?

  2. MySQL:अल्पविराम से अलग की गई एकल पंक्ति के रूप में एकाधिक पंक्ति

  3. यदि उपयोगकर्ता ब्राउज़र बंद करता है या एक पृष्ठ से दूसरे पृष्ठ पर नेविगेट करता है, तो PHP का उपयोग करके MySQL क्वेरी को समाप्त करें

  4. MySQL COT () फ़ंक्शन - MySQL में किसी संख्या का कोटैंजेंट लौटाता है

  5. MySQL से आउटपुट विशेष वर्ण काम करता है, लेकिन जब मैं charset-utf8 जोड़ता हूं तो यह नहीं होता है। क्यों?