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

MySQL Discussion :

Plantage de requête avec OR


Sujet :

MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Points : 67
    Points
    67
    Par défaut Plantage de requête avec OR
    Bonjour,

    J'ai une requête SQL qui ne marche pas dans MySql, je n'ai pas de message d'erreur. J'ai juste une page de chargement qui tourne sans jamais rien afficher.

    J'ai une piste ça doit venir du OR, lorsque j’exécute la requête sans le OR ça marche direct. Voici la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     SELECT cust.`id_customer`,cust.`firstname`,cust.`lastname`,cust.`email`,SUM(ord.`total_products_wt`) AS total, ord.date_add,ord.`current_state` 
    FROM `ps_customer` cust,`ps_orders` ord 
    WHERE cust.`id_customer` = ord.`id_customer` AND ord.date_add LIKE "2014-12%" 
    AND ord.`current_state` = 4 OR ord.`current_state` = 8 
    Group by cust.id_customer 
    Having SUM(ord.`total_products_wt`) >= 300
    Si quelqu'un peut m'éclairer.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 950
    Points : 5 849
    Points
    5 849
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND ord.`current_state` = 4 OR ord.`current_state` = 8
    Je suppose qu'il manque des parenthèses.
    Si le OR porte sur les données d'une même colonne, il est plus simple d'utiliser IN.

    PS : avec la syntaxe ANSI, je ne pense pas que vous auriez eu le même problème.
    La requête se serait exécutée et vous auriez constaté qu'elle ne correspondait pas au besoin, mais elle n'aurait pas juste moulinée, car ici avec votre OR sans parenthèse vous faîtes très probablement un produit cartésien au final...

    PS2 : votre GROUP BY est faux, notamment sur les sélections de date sans fonction d'agrégation :
    http://cedric-duprez.developpez.com/...r-group-by/#L4

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    Merci pour votre retour rapide.

    Ah oui c'est vrai j'avais pas pensé au produit cartésien, et maintenant avec le recule ça parait plutôt logique.
    Si j'ai bien compris avec le IN ça donnerai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND ord.`current_state` IN (4,8)
    Par contre pour le GROUP BY je ne comprends pas pourquoi c'est faux. Voici le contexte, j'ai 2 tables une cliente et une autre pour les commandes.
    Je voudrais sortir tous les clients qui ont commandés plus de 300€ dans un mois choisit. Si je ne fais pas le group by sur l'id du client, la requête me regroupe tout mes clients en 1.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 950
    Points : 5 849
    Points
    5 849
    Par défaut
    Par faux je ne sous-entendais pas qu'il ne fallait pas l'utiliser mais plutôt qu'il était incomplet.
    Lisez à ce sujet le lien que j'ai fourni dans mon précédent post.

    J'ai donc l'impression que vous n'avez pas besoin de sélectionner les colonnes ord.date_add,ord.`current_state` dans votre résultat.
    En les supprimant du SELECT, à défaut d'être compatible avec les autres SGBDR, votre requête vous renverra des résultats cohérents sur mysql.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    Ok je lirais la doc à tête reposée ce soir.

    Pour les champs ord.date_add,ord.`current_state`, oui ils sont inutiles mais je l'ai laisse uniquement pour vérifier si la requête s’exécute correctement.
    Lorsque j'utiliserai réellement cette requête je les supprimerai, mais comment elle est en cours d'écriture je laisse.

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 453
    Points : 19 402
    Points
    19 402
    Par défaut
    Salut lex89.

    Il y a plusieurs choses qui ne vont pas :

    1) Tu sélectionnes certaines lignes dans la table 'ps_orders' alors commence par la traiter en premier.
    Tu auras une volumétrie moins importante !

    2) Tu utilises deux tables pour faire une jointure. Utilise la bonne syntaxe.

    3) j'ai considéré que le where était du même niveau que le 'group by' de la table "ps_orders".
    Autrement dit, le regroupement de la colonne "total_products_w" se fait avant de faire la jointure.

    4) il faut utiliser des indexes pour améliorer la performance.

    5) j'ai considéré que la table 'ps_customer' était la table père et la table 'ps_orders' était la table fils.
    De ce fait, j'ai introduit une clef étrangère.

    6) Comme j'ignore la structure exacte de tes deux tables, j'ai dû improviser.
    Entre autre, je n'ai pas mis de "Primary Key" mais un index non unique pour la table 'ps_orders'.

    Voici la nouvelle 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    SET AUTOCOMMIT = 0;
    START TRANSACTION;
     
    -- ============
    -- Base `Essai`
    -- ============
     
    DROP DATABASE IF EXISTS `essai`;
     
    CREATE DATABASE `essai`
    	DEFAULT CHARACTER SET `utf8`
    	DEFAULT COLLATE       `utf8_general_ci`;
     
    USE `essai`;
     
    COMMIT;
     
    -- ===================
    -- Table `ps_customer`
    -- ===================
     
    DROP TABLE IF EXISTS  `ps_customer`;
     
    CREATE TABLE `ps_customer`
    (
      `id_customer` int unsigned  NOT NULL AUTO_INCREMENT,
      `firstname`   varchar(255)  NOT NULL,
      `lastname`    int unsigned  NOT NULL,
      `email`       varchar(255)  NOT NULL,
      PRIMARY KEY (`id_customer`)
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
      ROW_FORMAT=COMPRESSED;
     
    -- ===================
    -- Index `ps_customer`
    -- ===================
     
    -- create INDEX `current_sate` USING HASH ON `ps_customer` (`current_state`);
     
    -- =========================
    -- Remplissage `ps_customer`
    -- =========================
     
    -- =================
    -- Table `ps_orders`
    -- =================
     
    DROP TABLE IF EXISTS  `ps_orders`;
     
    CREATE TABLE `ps_orders`
    (
      `id_customer`       int unsigned  NOT NULL AUTO_INCREMENT,
      `date_add`          date          NOT NULL,
      `current_state`     int unsigned  NOT NULL,
      `total_products_wt` decimal(10,2) NOT NULL,
      FOREIGN KEY (`id_customer`)
        REFERENCES `ps_customer` (`id_customer`)
        ON UPDATE CASCADE ON DELETE CASCADE
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
      ROW_FORMAT=COMPRESSED;
     
    -- =================
    -- Index `ps_orders`
    -- =================
     
    create INDEX `clef1` USING HASH ON `ps_orders` (`id_customer`);
    create INDEX `clef2` USING HASH ON `ps_orders` (`current_state`);
    create INDEX `clef3` USING HASH ON `ps_orders` (`date_add`);
     
    -- =======================
    -- Remplissage `ps_orders`
    -- =======================
     
    -- =======
    -- Requete
    -- =======
     
    select * from `ps_customer`;
    select * from `ps_orders`;
     
    explain
    SELECT	cust.id_customer,
    		cust.firstname,
    		cust.lastname,
    		cust.email,
    		ord.total,
    		ord.date_add,
    		ord.current_state
     
    FROM (	SELECT  id_customer,
    				sum(total_products_wt) AS total,
    				date_add,
    				current_state 
    		FROM	ps_orders
    		WHERE	date_add LIKE "2014-12%" 
    		AND		current_state in (4,8)
    		GROUP BY id_customer
    		HAVING total >= 300
    	) as ORD
     
    INNER JOIN ps_customer as cust
    ON (cust.id_customer = ord.id_customer)
    ;
     
    COMMIT;
    SET AUTOCOMMIT = 1;
    Ne connaissant pas la volumétrie que tu as dans chacune de tes tables, il est difficile d'optimiser ta requête.
    Surtout que tu n'as pas une seule solution selon ce que tu désires faire au final.

    @+

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    Salut Artemus24

    Merci pour ta réponse bien clair.

    1) Tu sélectionnes certaines lignes dans la table 'ps_orders' alors commence par la traiter en premier.
    Tu auras une volumétrie moins importante !
    Oui c'est vrai je n'avait pas pensé à cette méthode.

    2) Tu utilises deux tables pour faire une jointure. Utilise la bonne syntaxe.
    C'est une méthode comme une autre non , peut-être que la tienne est plus propre (perso j'ai eu un cours SQL et le professeur nous a montré ces deux méthodes).

    Pour les autres points je suis d'accord avec toi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT	cust.id_customer,
    		cust.firstname,
    		cust.lastname,
    		cust.email,
    		ord.total,
    		ord.date_add,
    		ord.current_state
     
    FROM (	SELECT  id_customer,
    				sum(total_products_wt) AS total,
    Ce bout de code ne marche pas, il ne connait la colonne "Total", on peut utiliser les alias dans le WHERE mais pas dans le SELECT (j'avais déjà pensé à faire ça). J'ai l'erreur #1054 - Unknown column 'ord.total' in 'field list'

  8. #8
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 453
    Points : 19 402
    Points
    19 402
    Par défaut
    Salut lex89.

    Ce code a été testé chez moi avant de te le fournir.
    D'ailleurs voici ce que j'obtiens :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `essai`
    --------------
     
    --------------
    CREATE DATABASE `essai`
            DEFAULT CHARACTER SET `utf8`
            DEFAULT COLLATE       `utf8_general_ci`
    --------------
     
    --------------
    COMMIT
    --------------
     
    --------------
    DROP TABLE IF EXISTS  `ps_customer`
    --------------
     
    --------------
    CREATE TABLE `ps_customer`
    (
      `id_customer` int unsigned  NOT NULL AUTO_INCREMENT,
      `firstname`   varchar(255)  NOT NULL,
      `lastname`    varchar(255)  NOT NULL,
      `email`       varchar(255)  NOT NULL,
      PRIMARY KEY (`id_customer`)
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `ps_customer` (`id_customer`,`firstname`,`lastname`,`email`) values
    (1, 'einstein', 'albert', 'albert.einstein@usa.com')
    --------------
     
    --------------
    DROP TABLE IF EXISTS  `ps_orders`
    --------------
     
    --------------
    CREATE TABLE `ps_orders`
    (
      `id_customer`       int unsigned  NOT NULL AUTO_INCREMENT,
      `date_add`          date          NOT NULL,
      `current_state`     int unsigned  NOT NULL,
      `total_products_wt` decimal(10,2) NOT NULL,
      FOREIGN KEY (`id_customer`)
        REFERENCES `ps_customer` (`id_customer`)
        ON UPDATE CASCADE ON DELETE CASCADE
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    create INDEX `clef1` USING HASH ON `ps_orders` (`id_customer`)
    --------------
     
    --------------
    create INDEX `clef2` USING HASH ON `ps_orders` (`current_state`)
    --------------
     
    --------------
    create INDEX `clef3` USING HASH ON `ps_orders` (`date_add`)
    --------------
     
    --------------
    insert into `ps_orders` (`id_customer`,`date_add`,`current_state`,`total_products_wt`) values
    (1,'2014-12-04', 4, 1000),
    (1,'2014-12-17', 8, 2500),
    (1,'2014-12-25', 8, 500)
    --------------
     
    --------------
    select * from `ps_customer`
    --------------
     
    +-------------+-----------+----------+-------------------------+
    | id_customer | firstname | lastname | email                   |
    +-------------+-----------+----------+-------------------------+
    |           1 | einstein  | albert   | albert.einstein@usa.com |
    +-------------+-----------+----------+-------------------------+
    --------------
    select * from `ps_orders`
    --------------
     
    +-------------+------------+---------------+-------------------+
    | id_customer | date_add   | current_state | total_products_wt |
    +-------------+------------+---------------+-------------------+
    |           1 | 2014-12-04 |             4 |           1000.00 |
    |           1 | 2014-12-17 |             8 |           2500.00 |
    |           1 | 2014-12-25 |             8 |            500.00 |
    +-------------+------------+---------------+-------------------+
    --------------
    SELECT  cust.id_customer,
                    cust.firstname,
                    cust.lastname,
                    cust.email,
                    ord.total,
                    ord.date_add,
                    ord.current_state
     
    FROM (  SELECT  id_customer,
                                    sum(total_products_wt) AS total,
                                    date_add,
                                    current_state
                    FROM    ps_orders
                    WHERE   date_add LIKE "2014-12%"
                    AND             current_state in (4,8)
                    GROUP BY id_customer
                    HAVING total >= 300
            ) as ORD
     
    INNER JOIN ps_customer as cust
    ON (cust.id_customer = ord.id_customer)
    --------------
     
    +-------------+-----------+----------+-------------------------+---------+------------+---------------+
    | id_customer | firstname | lastname | email                   | total   | date_add   | current_state |
    +-------------+-----------+----------+-------------------------+---------+------------+---------------+
    |           1 | einstein  | albert   | albert.einstein@usa.com | 4000.00 | 2014-12-04 |             4 |
    +-------------+-----------+----------+-------------------------+---------+------------+---------------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 1
    --------------
     
     
    Appuyez sur une touche pour continuer...
    Je l'ai testé sur la dernière version mysql : 5.6.25.

    @+

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    Je connais pas la version de mon Mysql mais je ne penses pas que ça soit la dernière mise à jour.
    En tout cas Dans phpMyAdmin il me retourne une erreur.

    Après avoir lu la doc que skuatamad m'a passé, je ne comprends toujours pas pourquoi mon GROUP BY n'est pas correct.

    Je veux récupérer la somme des commandes des clients (qui est supérieur ou égale à 300€) en juin. Donc je veux un client avec la somme total et non un client et les commandes passé dans le mois.
    Je ne sais pas si je suis clair.

  10. #10
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par lex89 Voir le message
    Je veux récupérer la somme des commandes des clients (qui est supérieur ou égale à 300€) en juin. Donc je veux un client avec la somme total et non un client et les commandes passé dans le mois.
    Je ne sais pas si je suis clair.
    Pas complètement

    Si j'analyse ta première requête, avec la correction du OR en IN, je comprends qu'elle devrait te donner la liste des clients qui ont commandé au moins 300 en décembre. C'est ça que tu veux ?

    PS : je comprends également que tu veux afficher la date et le statut de commande, qui seront forcément faux (ou plus exactement qui correspondront à la première commande traitée par MySQL) puisque ta requête est une somme de plusieurs commandes.

    PPS : ladite requête réécrite avec la correction du OR et la suppression des infos commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT cust.id_customer, cust.firstname, cust.lastname, cust.email, SUM(ord.total_products_wt) AS total
    FROM ps_customer cust
      INNER JOIN ps_orders ord ON cust.id_customer = ord.id_customer 
    WHERE ord.date_add LIKE '2014-12%'
      AND ord.current_state IN (4, 8) 
    GROUP BY cust.id_customer 
    HAVING SUM(ord.total_products_wt) >= 300

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    Si j'analyse ta première requête, avec la correction du OR en IN, je comprends qu'elle devrait te donner la liste des clients qui ont commandé au moins 300 en décembre. C'est ça que tu veux ?
    Oui c'est bien ça que je veux.

    PS : je comprends également que tu veux afficher la date et le statut de commande, qui seront forcément faux (ou plus exactement qui correspondront à la première commande traitée par MySQL) puisque ta requête est une somme de plusieurs commandes.
    Ah oui j'avais pas vue ça comme ça, je ne pensais pas qu'il se fierais à la première commande traitée.

    PPS : ladite requête réécrite avec la correction du OR et la suppression des infos commande :
    Merci c'est ce qu'il me fallait !!!

  12. #12
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Si tu veux récupérer des infos commande, tu peux le faire à condition qu'elles soient agrégées... Par exemple j'ai ajouté la ligne en vert ci-dessous, qui te dit combien il y a de commandes en décembre pour ce client-là, et les dates entre lesquelles s'étalent les commandes de décembre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT cust.id_customer, cust.firstname, cust.lastname, cust.email, SUM(ord.total_products_wt) AS total, 
      COUNT(*) as nb_commandes, MIN(ord.date) as premiere_commande, MAX(ord.date) as derniere_commande
    FROM ps_customer cust
      INNER JOIN ps_orders ord ON cust.id_customer = ord.id_customer 
    WHERE ord.date_add LIKE '2014-12%'
    	AND ord.current_state IN (4, 8) 
    GROUP BY cust.id_customer 
    HAVING SUM(ord.total_products_wt) >= 300

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    Cool ça pourrait m'intéresser, encore merci pour ton aide

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

Discussions similaires

  1. [WD17] [Accès natif Mysql]Unicode: plantage requête avec caractère accentué..
    Par Christophe Charron dans le forum WinDev
    Réponses: 4
    Dernier message: 03/03/2013, 16h59
  2. [AC-2003] Crash / plantage de Access avec requête de somme cumulée
    Par -ULK- dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/07/2009, 10h23
  3. Requête avec l'expression Like
    Par Mvu dans le forum ASP
    Réponses: 3
    Dernier message: 02/09/2003, 09h39
  4. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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