Supposons que je ces tableaux, dont j'ai besoin d'afficher les résultats de recherche dans un navigateur:Sous-requête avec plusieurs résultats combinés dans un seul champ?
Table: Containers
id | name
1 Big Box
2 Grocery Bag
3 Envelope
4 Zip Lock
Table: Sale
id | date | containerid
1 20100101 1
2 20100102 2
3 20091201 3
4 20091115 4
Table: Items
id | name | saleid
1 Barbie Doll 1
2 Coin 3
3 Pop-Top 4
4 Barbie Doll 2
5 Coin 4
je besoin d'une sortie qui ressemble à ceci:
itemid itemname saleids saledates containerids containertypes
1 Barbie Doll 1,2 20100101,20100102 1,2 Big Box, Grocery Bag
2 Coin 3,4 20091201,20091115 3,4 Envelope, Zip Lock
3 Pop-Top 4 20091115 4 Zip Lock
L'important est que chaque type d'élément obtient seulement un enregistrement/rangée dans le retour sur l'écran. J'ai accompli ceci dans le passé en renvoyant plusieurs lignes du même article et en utilisant un langage de script pour limiter la sortie. Cependant, cela rend l'interface utilisateur trop compliquée et fastidieuse. J'espère donc que la base de données ne crachera autant d'enregistrements que de lignes à afficher.
Cet exemple peut être un peu extrême en raison des 2 jointures nécessaires pour accéder au conteneur à partir de l'article (via la table des ventes).
Je serais heureux pour juste une exemple de requête qui affiche ceci:
itemid itemname saleids saledates
1 Barbie Doll 1,2 20100101,20100102
2 Coin 3,4 20091201,20091115
3 Pop-Top 4 20091115
je ne peux retourner un seul résultat dans une sous-requête, donc je ne suis pas sûr de savoir comment faire.
Quels SGBDR utilisez-vous? –