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

क्या एक MySQL कॉलम होना संभव है जिसमें विदेशी कुंजी के रूप में एकाधिक मान हों?

यदि आप दो तालिकाओं को जोड़ने के लिए "मध्य व्यक्ति" तालिका नहीं बनाना चाहते हैं, तो आपके पास फ़ील्ड में अल्पविराम से अलग किया गया मान हो सकता है, आपको बस find_in_set का उपयोग करने की आवश्यकता होगी क्वेरी करते समय mysql फ़ंक्शन

find_in_set का उपयोग करना

SELECT
   log.user_id, log.activity_id, log.tags,
   GROUP_CONCAT(tags.name) as taggedNames //This assumes there is a field called `name` in tags table
FROM
   log
LEFT JOIN tags
ON
   FIND_IN_SET(tags.tag_id,log.tags)
GROUP BY
   log.activity_id

GROUP_CONCAT एक फ़ील्ड को एक साथ समूहित करेगा और उन्हें एक सीमांकक द्वारा अलग करेगा, डिफ़ॉल्ट , है




  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 डेटाबेस में लिखने और संग्रहीत करने के लिए बाहरी HD का उपयोग करना

  2. त्रुटि 1093 (HY000):आप खंड से अद्यतन के लिए लक्ष्य तालिका 'ए' निर्दिष्ट नहीं कर सकते हैं

  3. पंक्ति 1 पर कॉलम 'अग्रिम' के लिए MySQL डेटा छोटा कर दिया गया है

  4. MySQL में CHARACTER_LENGTH () फ़ंक्शन कैसे काम करता है

  5. एक डेटाटाइम से तारीख और दूसरे डेटाटाइम से समय मर्ज करें