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

XMLRAD Discussion :

Requêtes imbriquées ?


Sujet :

XMLRAD

  1. #1
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut Requêtes imbriquées ?
    Bonjour,

    Avec XMLRad, un serveur SQL 2000 sp3, un provider SQLOLEDB, est ce que je peux écrire une requête de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT SCT_ID, SCT_CODE, SCT_LIBELLE,
           (SELECT COUNT(*) FROM T_SUCCURSALE_SCC 
                       WHERE SCT_ID = SCT.SCT_ID) AS SCT_NB_ETS
    FROM TR_SECTEUR_SCT SCT
    WHERE SCT.RCO_ID = :RCO_ID
    J'obtiens une erreur alors que la requête fonctionne depuis l'analyseur de requête de SQLServer...

    Philippe.
    Philippe.

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Laissez tomber !
    Je ne sais pas pourquoi, mais j'ai eu un souci sur mon poste de dév., j'ai du redémarrer IIS, puis XMLRad, et la, miracle, la requête donne le résultat attendu... C'est ...

    Philippe.
    Philippe.

  3. #3
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bon, finalement...
    C'est peut etre parce que je suis malade mais :

    La requete suivante fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT SCT_ID, SCT_CODE, SCT_LIBELLE,
           (SELECT COUNT(*) FROM T_SUCCURSALE_SCC 
            WHERE SCT_ID = SCT.SCT_ID) AS SCT_NB_ETS
    FROM TR_SECTEUR_SCT SCT
    WHERE RCO_ID = 8
    Mais pas celle la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT SCT_ID, SCT_CODE, SCT_LIBELLE,
           (SELECT COUNT(*) FROM T_SUCCURSALE_SCC 
            WHERE SCT_ID = SCT.SCT_ID) AS SCT_NB_ETS
    FROM TR_SECTEUR_SCT SCT
    WHERE RCO_ID = :RCO_ID
    RCO_ID est bien déclaré dans les params en integer et même avec la valeur 8 par défaut...

    Qu'en pensez vous ? la fièvre ? je suis nul ? autre chose ?

    Philippe.
    Philippe.

  4. #4
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    1/ les requêtes imbriquées c'est pas bien... ;-)
    2/ effectivement j'arrive a reproduire le problème de mon coté avec le SQL explorer de XMLRAD:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT pub_id, pub_name, (SELECT Count(*) FROM publishers) AS pub_count
    FROM publishers
    WHERE pub_id = '0736'
    fonctionne mais pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT pub_id, pub_name, (SELECT Count(*) FROM publishers) AS pub_count
    FROM publishers
    WHERE pub_id = :pub_id
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  5. #5
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par RDM
    1/ les requêtes imbriquées c'est pas bien... ;-)
    Soit !

    Citation Envoyé par RDM
    2/ effectivement j'arrive a reproduire le problème de mon coté avec le SQL explorer de XMLRAD:
    Ah ben je remonte dans mon estime ! ;-)

    Plus sérieusement, comment réaliserais tu cet affichage (une table avec des infos, et ces données calculées) ?

    J'ai essayé de contourner le pb en utilisant une vue, une procédure stockée, mais sans plus de succès...

    Philippe.
    Philippe.

  6. #6
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    Il faut faire 2 requêtes (donc 2 DBEXtracts)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT pub_id, pub_name
    FROM publishers 
    WHERE pub_id = :pub_id
     
    SELECT Count(*) AS pub_count 
    FROM publishers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <document>
      <publishersS>
        <publishers>
          <pub_id>0736</pub_id>
          <pub_name>toto</pub_name>
        </publishers>
        ...
      </publishersS>
        <pubcount>
          <pub_count>8</pub_count>
        </pubcount>
    </document>
    et c'est le XSL qui rattrape le coup si tu veux l'afficher par exemple dans un tableau.

    <xsl:value-of select="/document/pubcount/pub_count"/>
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  7. #7
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Le pb est que j'ai 3 valeurs calculées par ligne.

    Avec une valeur, j'aurais pu écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT SCT.SCT_ID, SCT_LIBELLE
           COUNT(*) AS SCT_NB_ETS
    FROM TR_SECTEUR_SCT SCT
    INNER JOIN T_SUCCURSALE_SCC SCC
    ON SCC.SCT_ID = SCT.SCT_ID
    WHERE SCT.RCO_ID = 8
    GROUP BY SCT.SCT_ID, SCT_LIBELLE
    En appliquant ta méthode pour 1 calcul je vais obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <document>
      <SCTS>
        <SCT>
          <SCT_ID>6</SCT_ID>
          <SCT_LIBELLE>toto</SCT_LIBELLE>
        </SCT>
        <SCT>
          <SCT_ID>35</SCT_ID>
          <SCT_LIBELLE>titi</SCT_LIBELLE>
        </SCT>
        <SCT>
          <SCT_ID>36</SCT_ID>
          <SCT_LIBELLE>tata</SCT_LIBELLE>
        </SCT>
      </SCTS>
      <ETSS>
        <ETS>
          <SCT_ID>6</SCT_ID>
          <ETS_NB>8</ETS_NB>
        </ETS>
        <ETS>
          <SCT_ID>35</SCT_ID>
          <ETS_NB>15</ETS_NB>
        </ETS>
      </ETSS>
    </document>
    J'ai un cas où la valeur vaut 0 (pour ETS_ID = 36) et n'est pas placée dans la grappe... Ca me gene un peu pour reconstruire mon tableau et ce le sera encore plus avec 3 valeurs calculées par ligne... :-(

    Il eut été si simple que XMLRad accepte les requêtes imbriquées ! ;-)

    Philippe.
    Philippe.

  8. #8
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    je vois pas ou se pose le problème de ma méthode...

    d'autre part, le problème ne vietn pas d'XMLRAD mais du middleware ADO avec une requête paramétrée.
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

Discussions similaires

  1. Pb de COUNT et GROUP BY simple mais sans requête imbriquées
    Par vanquish dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/10/2004, 09h45
  2. Pb requête imbriquée
    Par ddams dans le forum Requêtes
    Réponses: 11
    Dernier message: 20/04/2004, 12h13
  3. [Requête] Faire une requête imbriquée?
    Par sekiryou dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2004, 22h52
  4. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15

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