Additional variations:
Code:
#all attribs without a default set
SELECT pa.products_id, pa.options_id
FROM products_attributes pa
LEFT JOIN products_options po ON pa.options_id = po.products_options_id
WHERE products_options_type != 1 AND products_options_type != 4
GROUP BY pa.products_id, pa.options_id
HAVING SUM(pa.attributes_default) = 0
ORDER BY pa.products_id, pa.options_id, pa.options_values_id;
#all attribs without a default set, AND skip those for which only one option exists (since it is likely auto-set as default anyway)
SELECT pa.products_id, pa.options_id
FROM products_attributes pa
LEFT JOIN products_options po ON pa.options_id = po.products_options_id
WHERE products_options_type != 1 AND products_options_type != 4
GROUP BY pa.products_id, pa.options_id
HAVING SUM(pa.attributes_default) = 0
AND COUNT(pa.options_id) > 1
ORDER BY pa.products_id, pa.options_id, pa.options_values_id;
# all data, for visual inspection
SELECT pa.products_attributes_id, pa.products_id, p.products_model, pa.options_id, po.products_options_name, pa.options_values_id, pv.products_options_values_name, pa.attributes_default
FROM products_attributes pa
LEFT JOIN products_options po ON pa.options_id = po.products_options_id
LEFT JOIN products_options_values pv ON pa.options_values_id = pv.products_options_values_id
LEFT JOIN products p ON pa.products_id = p.products_id
WHERE products_options_type != 1 AND products_options_type != 4
ORDER BY pa.products_id, pa.options_id, pa.options_values_id;
Notes: products_options_type 1 is TEXT and 4 is FILE hence the exclusions
Bookmarks