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

MySQL एकाधिक रुचि मिलान समस्या

MySQL के साथ यह निश्चित रूप से संभव है, लेकिन मुझे लगता है कि आप इसके बारे में अजीब तरीके से जा रहे हैं। मैं तालिकाओं को निम्नानुसार संरचित करके शुरू करूंगा:

TABLE Users ( userId, username, location )
TABLE Interests( interestId, hobby )
TABLE UserInterests( userId, interestId, level )

जब कोई उपयोगकर्ता कोई रुचि जोड़ता है, यदि उसे पहले नहीं जोड़ा गया है, तो आप उसे Interests में जोड़ देते हैं तालिका, और फिर इसे UserInterests . में जोड़ें मेज़। जब आप समान रुचियों वाले आस-पास के अन्य लोगों की जांच करना चाहते हैं, तो आप बस UserInterests से पूछ सकते हैं समान रुचियों वाले अन्य लोगों के लिए तालिका, जिसमें आपके लिए वह सारी जानकारी पहले से ही है:

SELECT DISTINCT userId
  FROM UserInterests
  WHERE interestId IN (
     SELECT interestId
       FROM UserInterests
       WHERE userId = $JoesID
     )

यह संभवत:उपश्रेणियों के बिना अधिक सुरुचिपूर्ण ढंग से किया जा सकता है, लेकिन अब मैंने यही सोचा है।



  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:कई टेबल या कई डेटाबेस?

  2. मैं एक अद्यतन क्वेरी में तीन टेबल जॉइन कैसे कर सकता हूं?

  3. ऑब्जेक्ट को MySQL डेटाबेस में स्टोर करना चाहते हैं

  4. अपरिभाषित अनुक्रमणिका:C:\wamp\www\Website\storeadmin\admin_login.php.. में उपयोगकर्ता नाम और पासवर्ड के लिए समान

  5. MySQL क्वेरी में एकाधिक कॉलम इंडेक्स को समझना