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

MySQL - एकाधिक हैशटैग वाले सभी आइटम चुनें

अच्छी तरह से आप अपनी सूची जानते हैं, इसलिए यह एक साधारण स्ट्रिंग है। और आप अपनी गिनती जानते हैं। इन्हें एक mysql Prepared Statement . में जाम किया जा सकता है और निष्पादित।

लेकिन इसके नीचे केवल डेमो उद्देश्यों के लिए सूची और गिनती बंद है।

create table items
(   id int not null
);

create table tags
(   id int not null,
    name varchar(50)
);

create table item_tags
(   iid int not null,
    tid int not null
);

insert items (id) values (1),(2),(3),(4);
insert tags(id,name) values (1,'cat'),(2,'animal'),(3,'has nose');
-- note, everything has a nose so far:
insert item_tags (iid,tid) values (1,1),(1,3),(2,1),(2,3),(3,2),(3,3),(4,1),(4,2),(4,3);

select i.id,count(i.id)
from items i
join item_tags junc
on junc.iid=i.id
join tags t
on t.id=junc.tid and t.name in ('cat','animal')
group by i.id
having count(i.id)=2

-- only item 4 has both cat and animal (note nose is irrelevant)


  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. mysql के साथ संतुलन की गणना करें

  4. क्या एसक्यूएल इंजेक्शन को सिर्फ एडलाश (स्ट्रिंग) से रोका जा सकता है?

  5. वेबसाइट पर बर्मी अक्षर कैसे प्रदर्शित करें और यदि उपयोगकर्ता के पास फ़ॉन्ट नहीं है तो उन्हें MySQL में कैसे रिकॉर्ड करें?