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

Sybase Discussion :

select * from (select * from mabase) Impossible ?


Sujet :

Sybase

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Points : 66
    Points
    66
    Par défaut select * from (select * from mabase) Impossible ?
    Bonjour à tous, je voudrais faire comme sous oracle une requete contenant une autre faite avec un union pour mettre un group et order by à la fin.
    est-ce possible sous sybase?

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Oui, à partir de la 12.5.3.

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Points : 66
    Points
    66
    Par défaut
    arf! j'utilise la 12.0.8, y a t-il un moyen de remédier à ce probleme avec ma version?

  4. #4
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Je connais pas trop Sybase, mais je suis en train de faire joujou avec...

    Tu peux à priori utiliser les CTE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    WITH t as (
    SELECT *
    FROM TaTable)
    SELECT * from t
    )
    remplace à priori :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT *
    FROM (SELECT * FROM TaTable)

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Points : 66
    Points
    66
    Par défaut
    Cela ne fonctionne pas non plus en tout cas avec ma version

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Le WITH ne fonctionne en effet pas avec ASE.

    Pour résoudre ce problème en 12.0.x je pense qu'il faut passer par une ou plusieurs tables temporaires, du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select mes_cols, sum(...) as mes_cols_sum into #t1 from ...
    -- puis
    select ... from #t1...
    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Points : 66
    Points
    66
    Par défaut
    OK, par contre je n'ai pas trop compris l'exemple avec les tables temporaires si je veux faire :

    select col11, col12, col13
    from table1
    group by col11, col12
    order by col11, col12

    union

    select col21, col22, col23
    from table2
    group by col21, col22
    order by col21, col22

    Dans ma procedure, je peux alimenter la meme table temporaire avec les deux requêtes l'une a la suite de l'autre?

  8. #8
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Bonjour,

    tu peux déclarer la structure de ta table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE #maTableTemporaire
    (
        champ1 int,
        champ2 int,
        -- ...
    )
    Tu peux ensuite faire les insert que tu souhaites dedans


    Arnaud
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    select col11, col12, col13
    into #tab_tempo
    from table1
    group by col11, col12
    order by col11, col12
     
    union
     
    select col21, col22, col23
    from table2
    group by col21, col22
    order by col21, col22
    Maintenant le résultat de l'union des deux requêtes est dans #tab_tempo, qui peut ensuite être réutilisée dans une autre requête.

    Je suggère de lire la doc Sybase sur la syntaxe de SELECT, et en particulier sur le comportement de SELECT ... INTO ...

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Points : 66
    Points
    66
    Par défaut
    Merci beaucoup pour votre aide et vos réponses
    finalement, cette méthode me faisait une erreur de compilation
    SELECT col11, col12, col13
    INTO #tab_tempo
    FROM table1
    GROUP BY col11, col12
    ORDER BY col11, col12

    union

    SELECT col21, col22, col23
    FROM table2
    GROUP BY col21, col22
    ORDER BY col21, col22
    J'ai donc fais

    INSERT INTO #tab_tempo

    SELECT col11, col12, col13
    FROM table1
    GROUP BY col11, col12
    ORDER BY col11, col12

    union

    SELECT col21, col22, col23
    FROM table2
    GROUP BY col21, col22
    ORDER BY col21, col22
    Et cela fonctionne , bonne journée

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

Discussions similaires

  1. select in (select in (select in etc.))
    Par Christophe P. dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/01/2015, 11h34
  2. Variable dans le FROM ou FROM composé , FROM ajustable
    Par V i n c e n t dans le forum Langage SQL
    Réponses: 5
    Dernier message: 28/05/2014, 18h02
  3. insert into from select ?
    Par axel584 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/01/2005, 18h10
  4. Incrémenter champ : insert into . select max(.) + 1 from .
    Par ludo.guy dans le forum Langage SQL
    Réponses: 10
    Dernier message: 25/11/2004, 14h39
  5. SYBASE SELECT imbriqué clause FROM
    Par Nicolas Martel dans le forum Sybase
    Réponses: 2
    Dernier message: 19/11/2003, 15h28

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