Connaissances Informatiques >> Logiciel >> Logiciel de base de données >> Content
  Derniers articles
  • Microsoft Windows protocole Recherch…
  • Tutoriels SQL Enterprise Manager 
  • Comment ajouter Web Viewer pour Zoom…
  • Comment faire pour intégrer une ima…
  • Comment utiliser plusieurs DB Liens …
  • Comment requête longue du type de d…
  • Comment faire pour convertir un fich…
  • Comment apprendre SQL dans Access 
  • Types de requêtes sur les bases 
  • Comment faire pour modifier WebLogic…
  •   Logiciel de base de données
  • Adobe Illustrator

  • Un logiciel d'animation

  • antivirus Software

  • Logiciel audio

  • Sauvegarder des données

  • Gravez des CD

  • Gravez des DVD

  • Compression de données

  • Logiciel de base de données

  • desktop Publishing

  • desktop Video

  • Digital Video Software

  • Drupal

  • Logiciels éducatifs

  • Software Engineering

  • Types de fichier d'extension

  • Financial Software

  • Freeware , Shareware et Abandonware

  • GIMP

  • Graphics Software

  • Accueil Recording Software

  • Microsoft Access

  • Microsoft Excel

  • Microsoft Publisher

  • Microsoft Word

  • Code Open Source

  • Autres logiciels informatiques

  • Jeux PC

  • Photoshop

  • Portable Document Format

  • PowerPoint

  • Logiciel de présentation

  • Logiciels de productivité

  • Quicktime

  • Gestion Remote Desktop

  • SQL Server

  • Skype

  • Logiciel bêta de presse

  • Consultants logiciels

  • Les sociétés de développement de logiciels

  • Licences de logiciels

  • Tableur

  • Logiciel de préparation d' impôt

  • Logiciel utilitaire

  • Clip Art Web

  • Windows Media Player

  • Logiciel de traitement de texte
  •  
    Logiciel de base de données

    Qu'est-ce qu'un tableau croisé dynamique dans SQL

    ? Dans SQL , un tableau croisé dynamique est un ensemble de données qui est transformé à partir d' une collection de lignes séparées pour une collection de colonnes . Dans les bases de données relationnelles telles que Microsoft SQL Server, Oracle et MySQL, les tableaux croisés dynamiques peuvent être utilisés pour simplifier les données importantes afin de le rendre plus facile à lire et à comprendre. Pour créer une table de pivotement , un agrégat est utilisé contre un ensemble de données pour distribuer des rangées multiples d'une même colonne dans une rangée unique avec plusieurs colonnes . Cette essentiellement pivots le résultat mis de côté . Données-échantillon

    pour mieux comprendre un tableau croisé dynamique , un exemple de certaines données de ventes sont listés ici. Copiez le texte suivant dans Microsoft SQL Server Management Studio pour essayer les exemples .

    CREATE TABLE # PivotTestTable ( NomCli varchar ( 8) , ITEM_TYPE varchar ( 8) , Item_Amount numérique ( 6,2 ) )
    < p> insert into # PivotTestTableselect « Jason », « informatique », 435.34unionselect ' Jason ', ' Software' , 243.54unionselect ' Jason' , 'Monitor', 158.23unionselect ' Alison ', ' travail' , 345.89unionselect « Alison », «Logiciels» , 78.78unionselect ' Alison ', ' Monitor', 123,45
    partir des données non pivotée

    Lorsque la table temporaire # PivotTestTable , est interrogé , le résultat est ce qui suit .

    NomCli ITEM_TYPE Item_Amount -------- -------------------- Alison Computer 345.89Alison Moniteur 123.45Alison Software 78.78Jason Computer 435.34Jason Moniteur 158.23Jason Software 243.54

    Comme vous pouvez le voir, l'ensemble des résultats montre deux clients , Alison et Jason , qui ont acheté trois types différents d' articles . Il ya six lignes de données pour deux clients . Si nous voulions voir les données dans une seule ligne par client , nous devrions utiliser un tableau croisé dynamique pour atteindre le résultat souhaité.
    Pivot par PIVOT fonction

    Microsoft SQL Server dispose d' une fonction de pivot intégré dans SQL Server. Voici un exemple avec les données # PivotTestTable .

    SELECTCustName comme Total_Sales_By_Cust , ordinateur, moniteur, SoftwareFROM ( SELECTCustName , ITEM_TYPE , Item_AmountFROM # PivotTestTable ) aPIVOT (somme ( Item_Amount ) POUR ITEM_TYPE dans (ordinateur, écran , logiciels ) ) b

    Cette requête va renvoyer les six lignes d'origine pivoté dans deux rangées de colonnes distinctes pour chaque type de produit vendu. Le jeu de résultats générés par cette requête est ici:

    Total_Sales_By_Cust moniteur Logiciels ------------------- ----------- --------------- Alison 345.89 123.45 435.34 158.23 243.54 78.78Jason
    Pivot par agrégé Argumentaire

    en utilisant un agrégat fonction (SUM , AVG , MIN, MAX) autour d'une déclaration de cas dans une requête SQL , nous sommes en mesure d'atteindre le même résultat que la fonction de pivot avec moins de travail.

    SELECTCustName comme Total_Sales_By_Cust , la somme ( cas lorsque ITEM_TYPE «ordinateur» puis de fin Item_Amount ) en informatique , la somme ( cas ITEM_TYPE quand puis fin Item_Amount 'Monitor' ) en tant que moniteur , la somme ( cas ITEM_TYPE lorsque «logiciel» puis fin Item_Amount ) comme SoftwareFROM # PivotTestTableGROUP PAR NomCli

    requête renverra le même résultat exact ensemble de l'exemple précédent et est seulement une préférence pour le type de pivot à utiliser.
    erreur commune avec des tableaux croisés dynamiques

    commune erreur de créer un tableau croisé dynamique est de créer une jointure sur la table source. Ceci va produire des résultats peu fiables et doivent être évités . Cet exemple est strictement un exemple de quoi ne pas faire . Le résultat de cet exemple sera le même , mais cet exemple ne fonctionne pas dans tous les cas

    SELECTp1.CustName , p1.Item_Amount en informatique , p2.Item_Amount comme moniteur , p3.Item_Amount comme SoftwareFROM p1INNER # PivotTestTable . REJOIGNEZ p1.CustName de p2on # PivotTestTable = p2.CustNameand p2.Item_Type = ' Monitor'INNER INSCRIPTION p1.CustName de p3on # PivotTestTable = p3.CustNameand p3.Item_Type =' Software'WHERE p1.Item_Type = ' Computer '
    < br >

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire une base de données Access for Church Membership 
  • Codes fréquentes minières Motif 
  • Comment éviter Inserts en double dans SQL 
  • Qu'est-ce que ça veut dire une base de données affiche les deux entités et l'intégrité référe…
  • Comment échapper parenthèse dans SQL 
  • Comment faire une base de données relationnelle 
  • Comment créer un tableau Si elle n'existe pas dans Oracle 
  • VBSQL à TSQL conversion 
  • Qu'est-ce qu'une requête de paramètre dans Access 
  • Comment générer une clé primaire SQL 
  • Connaissances Informatiques © http://www.ordinateur.cc