Sql Server 2008 De La Croix De L'Onglet De Requête
J'ai l'habitude de pouvez trouver toutes les requêtes sql dont j'ai besoin pour mes applications, mais récemment, j'ai été déconcerté par une Croix de l'Onglet de requête j'ai besoin de créer et je me demandais si vous pouviez m'aider?
J'ai 3 tables
Category(catID, catTitle)
Equipment(equipID, make, model, quantity, catID, siteID)
Site(siteID, title)
Et je voudrais créer une Croix Onglet de requête pour afficher un résultat comme ci-dessous
Category Site1 Site2 Site3 Site4 Site5
PC 2 0 10 3 6
Camera 12 4 2 0 8
Printer 3 2 1 1 2
Les chiffres affichés représentent un total de chaque élément de la catégorie à l'intérieur de chaque site en utilisant le champ de la quantité withint l'Équipement de la table. Je n'ai jamais eu à faire une Croix Onglet de requête avant et j'ai du mal à le faire fonctionner.
OriginalL'auteur tcode | 2011-10-31
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure de le faire avec le "pivot" de l'opérateur. Quelque chose comme ceci (même si je suis sûr que je muffed certains d'orthographe ou de syntaxe détails...):
Le problème, c'est que vous avez besoin de connaître le nombre exact d'id de site que vous souhaitez inclure dans la requête. Si vous avez besoin d'un tableau croisé dynamique (comme vous pouvez l'obtenir dans Excel), alors vous avez besoin pour générer le texte de la requête comme une chaîne de caractères et l'utilisation de sp_executesql pour l'exécuter. Dans le texte généré, vous incluez autant de "[1], [2], [3], [4], [5]..." et "[1] comme site1 [2], site2..." les choses que vous avez besoin.
OriginalL'auteur Ray
Je pense que la disparition d'un tableau qui en font une référence entre votre site et le matériel de
Quelque chose comme ça :
Parce que maintenant c'est impossible de dire qui de site comme qui de l'équipement de
EDIT :
Depuis le siteID est aussi dans les équipements j'aimerais proposer une autre table, un peu de refactoriser le code de votre base de données (car je ne sais vraiment pas comment faire)
Si vous obtenez beaucoup de données, il serait un gâchis pour extraire les données et de calculer chaque chose, chaque fois que vous voulez accéder à ces données.
Je propose donc ce tableau
Ainsi, lorsque vous modifiez les données (ajouter ou enlever de l'équipement), vous allez mettre à jour ce tableau, il serait beaucoup plus clair et vous n'avez pas à calculer le nombre de chaque équipement, chaque fois
Ouais, même avec la siteID c'est un gâchis 🙂
OriginalL'auteur GregM