J'ai deux tables: 'Category' et 'Product'. Dans la catégorie I, j'ai catid
et cat name
. Dans la table des produits, j'ai item-id
, item-name
, catid
. Ce que je dois faire est d'afficher un résultat qui aura item name
et category name
. Mais le nom de la catégorie sera multiple. Alors qu'un produit peut avoir plusieurs catégories.Requête complexe SQL
Répondre
Si votre schéma a un ID de catégorie dans la table des produits, alors un produit ne peut pas avoir plusieurs catégories. Si vous avez un autre tableau M: N pour lier des produits à des catégories, vous devez mettre à jour votre question.
Vous pouvez créer trois tableaux, à cause d'une table de jointure à permettrait à chaque ligne d'avoir plusieurs lignes correspondant dans l'autre table:
Category : catid catname
Product : itemid itemname
CategoryProduct : catid itemid
Ainsi, un produit peut avoir 0, 1 ou plusieurs catégories .
Exemple de contenu pour la table de jointure, pour deux produits ayant les mêmes deux catégories:
catid itemid in CategoryProduct
1 3
1 4
2 3
2 4
En réponse à votre commentaire:
La catégorie id de la table produit est comme 2 , 3,4 de sorte que 1 produit peut avoir plusieurs catégories
Si vous êtes autorisé à changer la table struc bien sûr, suivez le conseil de KLE. C'est l'approche saine et maintenable.
Si vous ne pouvez pas changer la structure de la table, vous pouvez interroger les catégories avec un hack comme celui-ci:
select *
from product p
inner join category c
on ',' + p.catid + ','
like '%,' + cast(c.catid as varchar) + ',%'
Dépend de la base de données, mais par exemple dans MySQL vous pouvez faire 'ON find_in_set (c.catid, p.catid)'. –
- 1. SQL complexe de requête
- 2. Aide requête SQL complexe
- 3. requête SQL complexe
- 4. requête sql complexe aide nécessaire
- 5. complexe SQL requête de jointure
- 6. Besoin d'une requête SQL complexe
- 7. MySQL requête cache, requête SQL complexe
- 8. Requête SQL avec sous-requête complexe
- 9. Aide avec la requête SQL complexe
- 10. Besoin d'aide dans la requête complexe sql
- 11. complexe requête SQL, relation un à plusieurs
- 12. Aucune idée comment écrire requête SQL complexe
- 13. L'application exécute une requête SQL complexe
- 14. Problème de requête complexe LINQ to SQL
- 15. Soustraire complexe dans la requête SQL Server
- 16. Aide de requête Sql complexe. Forming query in SQL
- 17. requête complexe dans Django
- 18. complexe requête Mysql
- 19. requête arel complexe
- 20. Requête complexe Mysql
- 21. Requête complexe dans mysql
- 22. Requête complexe avec Sphinx
- 23. Aide de requête SQLite complexe
- 24. Complexe (ish) requête de jointure et de comptage SQL
- 25. Erreur ORA-22813 avec une requête complexe SQL
- 26. Besoin d'aide pour une requête SQL complexe dans NHibernate
- 27. requête SQL complexe à NHibernate DetachedCriteria ou HQL
- 28. Comment interroger cette requête complexe dans T-SQL/Linq?
- 29. pourcentage de couverture en utilisant une requête SQL complexe ...?
- 30. SQL: suppression complexe
l'identifiant de la catégorie de la table des produits est comme 2,3,4 donc 1 produit peut avoir plusieurs catégories – Santanu
Ok, alors vous devriez lire http://en.wikipedia.org/wiki/Database_normalization - faire cela avec une telle colonne composite va être difficile et lent. –
Pouvez-vous influer sur le modèle de données, ou est-ce un fait? Parce que c'est une approche très sous-optimale pour la plupart des scénarios d'utilisation. – tijmenvdk