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

mysql तालिका में टैग खोजने का एक बेहतर तरीका

जब आइटम ए को कई आइटम बी से जोड़ा जा सकता है, और आइटम बी को कई आइटम ए से जोड़ा जा सकता है। इसे कई से अनेक संबंध

इन संबंधों के साथ डेटा अलग तालिका में संग्रहीत किया जाना चाहिए और केवल क्वेरी पर एक साथ जुड़ना चाहिए।

उदाहरण

तालिका 1

| product_uid | price | amount |
|      1      | 12000 |  3000  |
|      2      | 30000 |   600  |

तालिका 2

| tag_uid | tag_value |
|    1    |   tag_01  |
|    2    |   tag_02  |
|    3    |   tag_03  |
|    4    |   tag_04  |

फिर हम उन्हें जोड़ने के लिए एक जॉइन टेबल का उपयोग करते हैं

तालिका 3

| entry_uid | product_uid | tag_uid |
|    1      |     1       |     3   |
|    2      |     1       |     4   |
|    3      |     2       |     1   |
|    4      |     2       |     2   |
|    5      |     4       |     2   |

क्वेरी होगी (यदि आप आइटम एक और टैग का चयन करना चाहते हैं)

SELECT t1.*, t2.tag_value 
FROM Table1 as t1,
JOIN Table3 as join_table ON t1.product_uid = join_table.product_uid
JOIN Table2 as t2 ON t2.tag_uid = join_table.tag_uid
WHERE t1.product_uid = 1


  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. php . में लिंक प्रदर्शित करना

  3. क्या आप Doctrine 2 DQL के साथ सबक्वायरी में शामिल हो सकते हैं?

  4. मारियाडीबी का उपयोग करना

  5. मैसकल क्वेरी उन सभी पंक्तियों को खोजने के लिए जिनका मान दूसरी पंक्ति के समान है