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

कुछ टैग वाले आइटम खोजने के लिए MySQL क्वेरी

यदि आप दो में से किसी भी टैग वाला आइटम चाहते हैं तो:

select distinct item_id, item_name 
from items_tags 
where tag_name in ('yellow', 'fruit'); 

यदि आप चाहते हैं कि आइटम में दोनों टैग हों तो:

select item_id, item_name 
from items_tags 
where tag_name in ('yellow', 'fruit')
group by item_id, item_name
having count(*) = 2; 

आपकी टिप्पणी के आधार पर

  select a.id, a.item 
    from items a, items_tags b, tags c 
   where a.id = b.item_id
     and b.tag_id = c.id
group by id, item
  having (group_concat(c.tag) like '%yellow%' 
         and  group_concat(c.tag) like '%fruit%')
      or group_concat(c.tag) = 'red';

यह क्वेरी आइटम तालिका से आईडी और आइटम देती है। यह वह वस्तु देता है जिसमें पीले और फल दोनों टैग होते हैं। और केवल लाल टैग वाले आइटम।

यदि आप दो टैग और केवल दो टैग वाले आइटम प्राप्त करना चाहते हैं तो क्लॉज होने में निम्न शर्त का उपयोग करें

(group_concat(c.tag) like '%yellow%' 
and group_concat(c.tag) like '%fruit%'
and count(*) = 2) 
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. '𠂉' मान्य यूनिकोड वर्ण नहीं है, लेकिन यूनिकोड वर्ण सेट में है?

  2. mysql क्वेरी परिणाम को वांछित प्रारूप में प्रारूपित करें

  3. इस SQL ​​​​कथन को कैसे लिखें?

  4. मैं तालिका को कैसे अपडेट करूं (MYSQL)

  5. एक कॉलम को दूसरे पर प्राथमिकता दें