एकाधिक जुड़ने की आवश्यकता नहीं है। यदि आपको सभी टैगों का मिलान करने की आवश्यकता है, तो आप एक IN
. का उपयोग कर सकते हैं इस तरह की एक सबक्वेरी के साथ क्लॉज:
select p.sku, p.name, p.path
from shop_products p
where p.sku in (
select pc.product_sku
from shop_products_categories pc
inner join shop_categories c on pc.category_id = c.id
where c.path in ('flowers', 'romance')
group by pc.product_sku
having count(distinct c.path) = 2
)
ध्यान दें कि आपके द्वारा मिलान किए जा रहे अद्वितीय टैग की संख्या के रूप में आपको संख्या 2 को समायोजित करने की आवश्यकता होगी। सावधान रहें यदि यह उपयोगकर्ता द्वारा दर्ज किया गया डेटा है और वे एक ही टैग को दो बार दर्ज करते हैं।