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

Requêtes MySQL Discussion :

Erreur sql : Une expression était attendue. ( près de ( )


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2016
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Erreur sql : Une expression était attendue. ( près de ( )
    Bonjour,
    J'ai une erreur sur la requête SQL suivante (avec sous-requête) :

    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
    SELECT reference AS 'Product code', 'BeastyBike' AS 'Vendor', GROUP_CONCAT(name ORDER BY name ASC SEPARATOR '; ') AS 'Options', 'Y' AS 'Inventory tracking', 'P' AS 'Options type'
    FROM (
    SELECT p.reference, CONCAT(agl.name, ': S[', GROUP_CONCAT(DISTINCT REPLACE(al.name, ',', '.') ORDER BY al.name ASC SEPARATOR ', '), ']') AS 'name'
    FROM ps_product p
    LEFT JOIN ps_product_lang pl ON pl.id_product = p.id_product
    LEFT JOIN ps_product_attribute pa ON pa.id_product = p.id_product
    LEFT JOIN ps_product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attribute
    LEFT JOIN ps_attribute a ON a.id_attribute = pac.id_attribute
    LEFT JOIN ps_attribute_lang al ON al.id_attribute = a.id_attribute
    LEFT JOIN ps_attribute_group ag ON ag.id_attribute_group = a.id_attribute_group
    LEFT JOIN ps_attribute_group_lang agl ON agl.id_attribute_group = ag.id_attribute_group
    LEFT JOIN ps_category c ON c.id_category = p.id_category_default
    WHERE p.active = 1
    AND p.reference != ''
    AND pl.id_lang = 2
    AND pl.id_shop = 1
    AND al.id_lang = 2
    AND agl.id_lang = 2
    AND c.id_category != 1
    AND c.id_category != 19
    AND c.id_category != 104
    AND c.id_category != 105
    GROUP BY p.reference, agl.name
    ) product
    GROUP BY reference
    ORDER BY reference

    Cette requête d'export fonctionnait très bien, ainsi que l'export des résultats, jusqu'à ce que je mette à jour Plesk.

    Elle fonctionne toujours, car j'arrive à afficher les résultats, mais j'ai les erreurs suivantes :
    ligne 2 :
    Une expression était attendue. ( près de ( )
    Jeton inattendu ( près de ( )
    ligne 3 :
    Ce type de clause a été analysé précédemment. (près de SELECT)
    Et lorsque j'essaye d'exporter les résultats en csv, il me retourne un fichier d'erreur contenant :

    <div class="error"><h1>Erreur</h1><p><strong>Analyse statique :</strong></p><p>1 erreurs trouvées lors de l'analyse.</p><p><ol><li>Une expression était attendue. (near "" at position 0)</li></ol></p><p><strong>Requête SQL : </strong>
    <a href="./url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.5%2Fen%2Fselect.html" target="mysql_doc"><img src="themes/dot.gif" title="Documentation" alt="Documentation" class="icon ic_b_help" /></a><a href="tbl_sql.php?sql_query=SELECT+reference+AS+%27Product+code%27%2C+%27BeastyBike%27+AS+%27Vendor%27%2C+GROUP_CONCAT%28name+ORDER+BY+name+ASC+SEPARATOR+%27%3B+%27%29+AS+%27Features%27+FROM&amp;show_query=1&amp;db=beastybikeps16&amp;table=product&amp;token=7f19f473809ba3a776878e5a82a2647c"><span class="nowrap"><img src="themes/dot.gif" title="Modifier" alt="Modifier" class="icon ic_b_edit" />&nbsp;Modifier</span></a> </p>
    <p>
    SELECT reference AS 'Product code', 'BeastyBike' AS 'Vendor', GROUP_CONCAT(name ORDER BY name ASC SEPARATOR '; ') AS 'Features' FROM
    </p>
    <p>
    <strong>MySQL a répondu: </strong><a href="./url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.5%2Fen%2Ferror-messages-server.html" target="mysql_doc"><img src="themes/dot.gif" title="Documentation" alt="Documentation" class="icon ic_b_help" /></a>
    </p>
    <code>#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1</code><br/></div>
    Version MySQL 5.1.73
    Version phpMyAdmin 4.5.1

    Je n'ai trouvé aucune information nulle part sur ce type d'erreurs.
    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    bonjour,

    Vous pouvez déjà corriger tous vos prédicats "différent" qui sont mal codés : la syntaxe est "not ="
    Attention : qui dit prédicat "différent" dit requête non sargable, vos temps de traitement risquent d'être considérables si volume à traiter il y a

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/02/2015, 08h51
  2. [AC-2007] Erreur d'une expression à la propriété RowSource non valide
    Par rch05 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 04/03/2011, 09h06
  3. Réponses: 2
    Dernier message: 10/07/2009, 17h12
  4. Réponses: 2
    Dernier message: 04/06/2009, 11h52
  5. [RegEx] erreur dans une expression réguliere
    Par vasilov dans le forum Langage
    Réponses: 4
    Dernier message: 24/06/2008, 22h31

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