इसे लागू करने के कई तरीके हैं। कुछ इस तरह से प्रत्येक विशेषता मान के लिए टेबल पर कई बार वापस जुड़ने का काम करना चाहिए:
SELECT p.product_id,
a.value height,
a2.value width
FROM Product p
JOIN Product_Attribute pa ON p.product_id = pa.product_id
JOIN Attribute a ON pa.attribute_id = a.attribute_id AND a.name = 'height'
JOIN Product_Attribute pa2 ON p.product_id = pa2.product_id
JOIN Attribute a2 ON pa2.attribute_id = a2.attribute_id AND a2.name = 'width'
और ये रहा Fiddle ।
यहां MAX और GROUP BY का उपयोग करते हुए एक वैकल्पिक तरीका दिया गया है जिसे मैं व्यक्तिगत रूप से पसंद करता हूं:
SELECT p.product_id,
MAX(Case WHEN a.name = 'height' THEN a.value END) height,
MAX(Case WHEN a.name = 'width' THEN a.value END) width
FROM Product p
JOIN Product_Attribute pa ON p.product_id = pa.product_id
JOIN Attribute a ON pa.attribute_id = a.attribute_id
GROUP BY p.product_id
शुभकामनाएँ।