IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

CROSSTAB ::marche dans access mais pas dans MS SQL 2000


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 7
    Par défaut CROSSTAB ::marche dans access mais pas dans MS SQL 2000
    Bonjour

    J'essaye de remplir une table avec les donnees de 2 autres
    Table Info ce sont des colonnes
    Table Item ce sont des lignes

    Table 1 --> Info
    InfoID
    Name

    Table 2 --> Item
    InfoID
    Num
    Value

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    TRANSFORM Max(Item.Value) AS MaxValue
    SELECT Info.Name
    FROM Info INNER JOIN Item ON Info.InfoID = Item.InfoID
    WHERE Item.Num In (10,12,15,100)
    GROUP BY Info.Name
    PIVOT Item.Num

    dans access ca marche exactement comme je veux j'obtiens bien 5 colonnes --> Name,10,12,15,100


    mais le meme code dans MS SQL Marche pas
    j'ai la meme structure de table dans les 2 cas

    quelqu'un saurait me traduire ca (la partie en code) pour MS SQL 2000 ?

    merci 1000000 fois !

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Ce n'est pas normé SQL.
    Cela n'existe pas directement dans MS-SQL2000 : il faut passer par des tables temporaires, ou par "muliplication de matrice inverse".
    Avec 2005, reportez-vous à PIVOT.


    http://www.developpez.net/forums/vie...ighlight=pivot
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 7
    Par défaut
    j'ai utilise

    SELECT machin
    ,MAX (CASE WHEN truc = 10 THEN value END) AS bidule
    GROUP BY machin

    et ca marche nickel


    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete Marche sur WorkBench mais pas dans .Net
    Par s.toubal dans le forum Requêtes
    Réponses: 5
    Dernier message: 03/02/2013, 17h04
  2. Réponses: 2
    Dernier message: 11/04/2010, 22h36
  3. erreur de requête SQL avec ASP mais pas dans Access
    Par csszzen dans le forum Langage SQL
    Réponses: 6
    Dernier message: 16/03/2007, 09h07
  4. Réponses: 2
    Dernier message: 06/06/2005, 15h13
  5. Réponses: 2
    Dernier message: 04/06/2004, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo