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

PostgreSQL Discussion :

Requète MySQL >> Postgresql


Sujet :

PostgreSQL

Vue hybride

genova Requète MySQL >>... 18/08/2005, 16h11
BONNEFOI Patrick Salut, en SQL, en... 18/08/2005, 16h27
genova Ah oui c'est un problème, il... 18/08/2005, 16h32
BONNEFOI Patrick Salut, je ne suis pas un... 19/08/2005, 09h05
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut Requète MySQL >> Postgresql
    Bonjour,
    dans un soucis de portabilité d'une application sur plusieurs base de donnée, j'ai besoin de faire tourner mon programme (php) sous mysql et postgresql. Cependant j'ai une requète MYSQL qui semble ne pas marcher sous postgresql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT g.*, COUNT(gu.g_id) AS g_count FROM fsb2_groups g LEFT JOIN fsb2_groups_users gu ON g.g_id = gu.g_id WHERE g.g_type <> 1 AND g.g_type <> 3 GROUP BY g.g_id
    n'étant pas calé en pgsql, j'aimerai comprendre ce qui ne va pas, sachant que l'erreur est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR: column "g.g_name" must appear in the GROUP BY clause or be used in an aggregate function
    Merci d'avance
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut
    Salut,

    en SQL, en principe, quand tu mets des champs dans une clause Group BY, tu dois reporter ces champs dans le select.

    Tu ne peux pas avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from table group by xxx;
    je ne connais pas MySQL mais je sais que sous Oracle ça ne marche pas, sous Pg je suppose que cela est pareil

    A+

  3. #3
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut
    Ah oui c'est un problème, il n y a pas une astuce ? Car le problème c'est que le nombre de champ dans * peut très bien changé
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut
    Salut,

    je ne suis pas un pro du SQL mais je me débrouille, je pense que tu peut t'en sortir en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Select * 
    FROM Table, (Select Chp1 FROM TABLE GROUP BY Chp1) S1
    WHERE Table.chp1 = S1.Chp1
    mais j'en vois pas l'utilité

    le Group by permet de faire des agrégats (style SUM, COUNT, AVG, MIN, MAX, ...)
    Sinon sur le site tu as http://sql.developpez.com/ qui peut t'aider
    avec des tutoriels, des exemples, ...

    A+

Discussions similaires

  1. [9.1] requête : MySQL vers PostgreSQL
    Par siro1 dans le forum Débuter
    Réponses: 10
    Dernier message: 18/07/2014, 16h06
  2. Requête MYSQL LIKE particulière
    Par TheDarkLewis dans le forum Requêtes
    Réponses: 9
    Dernier message: 05/12/2004, 15h50
  3. Arrêt de l'exécution d'une requête MySQL dans DELPHI.
    Par joelmarc dans le forum Bases de données
    Réponses: 9
    Dernier message: 11/10/2004, 16h11
  4. surcharge de requête MySQL
    Par simoryl dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2004, 10h43
  5. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

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