Salut, je suis nouveau à la programmation Sql.Comment écrire une requête select dans la clause "in" du tableau croisé dynamique?
J'ai une table « Temp » ayant deux champs « Nom » & « Software »
Je suis une table pivotante qui affiche le nom et le nombre de versions de logiciels à lui.
Ma requête pour pivot est:
select * from temp
pivot(count(Software) for Software in ([Professional],[Personal],[Standard])) as PVT
Mais au lieu de donner une valeur statique dans in ([Professional],[Personal],[Standard])
Je veux sélectionner les noms de logiciels de requête select qui devrait être: select distinct software from temp
Quand je écrire cette requête select dans la clause in error.
Comment puis-je y parvenir?
Aidez-nous s'il vous plaît. Merci d'avance.
La liste doit être une liste prédéfinie d'éléments statiques. Imaginez que la liste devienne une liste dynamique: les noms de colonne seraient inconnus à la compilation de la requête. Comment l'analyseur doit-il vérifier la syntaxe? – Claude
Monsieur, j'ai cherché sur internet et j'ai trouvé que stocker la requête dans une variable et passer cette variable à la clause 'in'. Mais en fait je ne sais pas comment l'implémenter. @Michael –
Dans ce cas, vous devez construire toute votre requête dymanically et vous devez l'exécuter en utilisant 'exec'. – Claude