Bonjour,
Je coince sur une requête concernant des tables Virtuemart (mais ce serait pareil pour une autre extension). J'ai pourtant manipulé des bases de données pendant des années !
Je cherche à lister des produits auxquels aucune catégorie n'a été affectée (pour une raison qui m'échappe). Dans VM, il y a la table des catégories, celle des titres et celle des liens entre article et catégorie. La table #__virtuemart_product_categories ne contient que les produits auxquels une catégorie a été définie.
J'ai 937 produits mais seulement 884 dans la table de lien de catégorie, ce qui veut dire, sachant que certains produits sont affectés à plus d'une catégorie, qu'un nombre important de produits n'a pas de catégorie. N'ayant pas trouvé comment lister ces produits sans catégorie dans VM pour corriger, j'essaie donc de faire une requête dans phpMyAdmin.
Celle-ci ne me permet pas de trouver les produits absents, mais seulement les 884 lignes présentes dans #__virtuemart_product_categories donc sans intérêt ici
Comment puis-je faire ? J'ai tenté des FULL, RIGHT et LEFT JOIN qui me renvoient des erreurs SQL du type "le champ n'existe pas", alors qu'il est bien présent.
Merci de vos conseils,
Robert
Je coince sur une requête concernant des tables Virtuemart (mais ce serait pareil pour une autre extension). J'ai pourtant manipulé des bases de données pendant des années !
Je cherche à lister des produits auxquels aucune catégorie n'a été affectée (pour une raison qui m'échappe). Dans VM, il y a la table des catégories, celle des titres et celle des liens entre article et catégorie. La table #__virtuemart_product_categories ne contient que les produits auxquels une catégorie a été définie.
J'ai 937 produits mais seulement 884 dans la table de lien de catégorie, ce qui veut dire, sachant que certains produits sont affectés à plus d'une catégorie, qu'un nombre important de produits n'a pas de catégorie. N'ayant pas trouvé comment lister ces produits sans catégorie dans VM pour corriger, j'essaie donc de faire une requête dans phpMyAdmin.
Celle-ci ne me permet pas de trouver les produits absents, mais seulement les 884 lignes présentes dans #__virtuemart_product_categories donc sans intérêt ici
SELECT `uysf1_virtuemart_products`.`virtuemart_product_id `, `uysf1_virtuemart_product_categories`.`virtuemart_ category_id` FROM `uysf1_virtuemart_products` INNER JOIN `uysf1_virtuemart_product_categories` WHERE `uysf1_virtuemart_product_categories`.`virtuemart_ product_id` = `uysf1_virtuemart_products`.`virtuemart_product_id `;
Merci de vos conseils,
Robert
Commentaire