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

Langage SQL Discussion :

Comparaisons multi-critères


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 46
    Points
    46
    Par défaut Comparaisons multi-critères
    Bonjour,
    je cherche à faire une commande du type de la suivante mais elle ne fonctionne pas.
    Un peu d'aide me ferai le plus grand biens.

    C'est à partir de AND que je seche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql = "UPDATE PaiementsEnLigne SET num_transaction= '$id_transaction', num_fac1= '$fac1', num_fac2= '$fac2', num_fac3= '$fac3', num_fac4= '$fac4', num_fac5= '$fac5', num_fac6= '$fac6', montant_total_ttc= '".number_format($total/100,2)."€',  date_transaction= '$date_transaction', heure_transaction='$heure_transaction'
    				WHERE code_client_ciel = '".$Code_client."'
     
    				AND  ('$fac1' OR '$fac2' OR '$fac3' OR '$fac4' OR '$fac5' OR '$fac6') LIKE (num_fac1 OR num_fac2 OR num_fac3 OR num_fac4 OR num_fac5 OR num_fac6) ";
    				$odbc_result = odbc_do($cnx_ciel,$sql);

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Il faudrait détailler votre besoin fonctionnellement ainsi que l'agrémenter d'un exemple (simple et concis).

    De plus, merci d'extraire le SQL du code applicatif car là ce n'est que moyennement lisible.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 46
    Points
    46
    Par défaut
    Merci de m'aider.
    je cherche à faire une comparaison croisées entre les num_fac de ma table et les $fac à insérrer avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    AND  ('$fac1' OR '$fac2' OR '$fac3' OR '$fac4' OR '$fac5' OR '$fac6') 
    LIKE 
    (num_fac1 OR num_fac2 OR num_fac3 OR num_fac4 OR num_fac5 OR num_fac6) ";
    $odbc_result = odbc_do($cnx_ciel,$sql);
    num_fac correspond au colonnes lues de ma table et $fac au facture à insérées dans la table.

    si la facture $fac1 ou $fac2 etc... existe dans la table alors je fais un UPDATE else je fais un INSERT.

    La disposition dans la table peut changer, la $fac1 peut se trouver dans la colonne num_fac1 ou num_fac2 etc...

    Il faut donc vérifier si une des 6 factures à insérerer ne se trouvent pas dans une des 6 colonnes de la table

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Il faut plutôt le faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        num_fac1 in ('$fac1', '$fac2', '$fac3', '$fac4', '$fac5', '$fac6')
     OR num_fac2 in ('$fac1', '$fac2', '$fac3', '$fac4', '$fac5', '$fac6')
     OR num_fac3 in ('$fac1', '$fac2', '$fac3', '$fac4', '$fac5', '$fac6')
     OR num_fac4 in ('$fac1', '$fac2', '$fac3', '$fac4', '$fac5', '$fac6')
     OR num_fac5 in ('$fac1', '$fac2', '$fac3', '$fac4', '$fac5', '$fac6')
     OR num_fac6 in ('$fac1', '$fac2', '$fac3', '$fac4', '$fac5', '$fac6')
    Par contre j'ai un sérieux doute sur la modélisation...

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 46
    Points
    46
    Par défaut
    Merci beaucoup,
    simple, propre et concis en un mot "SUPER"

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

Discussions similaires

  1. Recherche multi-critères
    Par PAUL87 dans le forum Access
    Réponses: 66
    Dernier message: 13/12/2005, 12h12
  2. problème SQL avec le tutoriel recherche multi critère
    Par qbihlmaier dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/12/2005, 19h33
  3. Requete multi-critères
    Par anutka dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/09/2005, 13h30
  4. problème avec résultat de recherche multi-critères
    Par audrey_desgres dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 11h00
  5. Procédure stockée: recherche multi-critères
    Par biroule dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 01/09/2004, 16h02

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