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 :

[SQL Server] requete sql 'where'


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut [SQL Server] requete sql 'where'
    voila j'ai un petit probleme avec une requete qui doit normalement etre simple a faire,la requete est ce ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into TOMBEE(CODCLI,NUMCRED,NUMTIR,DATEECH,PROVENANCE) SELECT CODCLI,NUMCRED,NUMTIR,DATEECH,1 as provenance from HISTORIQUE_COURRIERS where DATEECH between 
    (DATEECH = '01/04/2007')and (DATEECH = '31/06/2007')
    en faite le probleme,apparemment le probleme vient de '=',ce que je veux faire c'est filtrer les données en mettant une clause where,mais ma syntaxe est faussse,esque quelqu'un peut me donner une solution merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Et comme ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO TOMBEE(CODCLI,NUMCRED,NUMTIR,DATEECH,PROVENANCE) SELECT CODCLI,NUMCRED,NUMTIR,DATEECH,1 AS provenance FROM HISTORIQUE_COURRIERS WHERE DATEECH BETWEEN 
    ('01/04/2007')AND ('31/06/2007')

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Vos parenthèses à tous les 2 qui encadrent les dates sont inutiles pire elles compliquent la lisibilité de la requête.
    Enlevez-les !

    Enfin veillez à bien mettre un espace AVANT et après les mot clés, cf. le mot 'AND'

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    merci beaucoup mais en effet la ca marche bien,mais par contre j'ai un autre petit probleme c'est que j'execute cette requete il m'affiche l'erreur suivante:
    "La conversion du type de données char en smalldatetime a donné une valeur smalldatetime hors limite".

    je ne sais pas ce ke ca veut dire.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    c'est bon j'ai trouve la solution c'est juste que les dates depassent les limites ki sont dans ma base de données mais par contre j'ai un autre petit probleme j'ai un autre message d'erreur ki est le suivant:

    "Violation de la contrainte PRIMARY KEY 'PK_TOMBEE'. Impossible d'insérer une clé en double dans l'objet 'dbo.TOMBEE'."

    ca par contre j'ai pas trouve de solution.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 400
    Points
    28 400
    Par défaut
    Ce dernier message t'informe que tu essayes d'ajouter dans ta table TOMBEE un enregistrement dont l'identifiant unique, associé à la clé primaire PK_TOMBEE, existe déjà dans la table.

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par khayate
    ca par contre j'ai pas trouve de solution.
    Si vous comprenez le message d'erreur alors vous devez être capable de comprendre pourquoi votre requête aboutit à cette erreur.
    Vous essayez d'insérer une ligne dont la clé primaire existe déjà dans la table.
    Or, une contrainte de clé primaire implique que celle-ci soit unique.

    CQFD.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    ok je comprends ce ke vous me dites mais c'est quoi la soulution alors?

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Points : 253
    Points
    253
    Par défaut
    De ne pas insérer de doublon

  10. #10
    Membre averti Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Points : 368
    Points
    368
    Par défaut
    mets ta clé en auto-incrément, tu auras moins de problèmes

  11. #11
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    ca jevais compri mais comment je fais pour inserer les donnes d'une colonne d'u tableau 'table1' dans une colonne d'un tableau 'table2' ou cette colonne se trouve etre une cle primaire.car les données de cet colonne 'col1' de 'table1' correspondant a la cle primaire de 'table2'.peute etre ke je me complike la vie aussi mais je suis sur kil doit y avoir une solution simple.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    ca veut dire koi en auto-increment??

  13. #13
    Membre averti Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Points : 368
    Points
    368
    Par défaut
    il y a une option dans phpMyAdmin qui permet de auto-incrémenter la valeur de ta clé (lors d'une insertion, si max(clé) = 4, la clé de ton nouvel enregistrement sera 5, sans le renseigner ds ton insert).

  14. #14
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    mais moi je travaille sur sql server management studio express et j'arrive pas a trouver cette option la.

  15. #15
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 400
    Points
    28 400
    Par défaut
    Citation Envoyé par binouzzz19
    il y a une option dans phpMyAdmin qui permet de auto-incrémenter la valeur de ta clé (lors d'une insertion, si max(clé) = 4, la clé de ton nouvel enregistrement sera 5, sans le renseigner ds ton insert).
    Citation Envoyé par khayate
    mais moi je travaille sur sql server management studio express et j'arrive pas a trouver cette option la.
    D'où l'utilité de préciser son SGBD dans le message ou dans le titre, ce que khayate avait fait mais que binouzzz19 n'a pas vu

  16. #16
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    te bien gentil mais j'ai tjrs pas trouve de solution donc je suis tjrs perdu,au secours.........

  17. #17
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par al1_24
    D'où l'utilité de préciser son SGBD dans le message ou dans le titre, ce que khayate avait fait
    khayate n'avait rien fait, c'est un modérateur qui l'a rajouté - en l'occurence moi - dans le titre mais tu mets parfaitement en avant l'intérêt de fournir cette information dès le 1er message...

  18. #18
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    merci magnus te tres gentil mais c koi la solution.esque kelkun peut me donner une solution au lieu de savoir ki a fait koi.

  19. #19
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 091
    Points : 31 510
    Points
    31 510
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par binouzzz19
    mets ta clé en auto-incrément, tu auras moins de problèmes
    Ceci est un cautère sur une jambe de bois. Autant ne pas mettre en oeuvre de clé primaire puisque le résultat serai le même...

    Plus sérieusement :

    Imaginez que l’insert dans la table TOMBEE corresponde par exemple à un débit du compte bancaire de binouzzz19. Votre solution d’auto-incrément fera que l’on pourra vous débiter à tort plus d’une fois. Chose qui peut se produire si l’on soumet deux fois le même processus, disons par distraction.

    Khayate, le SGBD vous a évité une anomalie de mise à jour. Vous devez chercher pourquoi il y a eu tentative d’insert de doublons. Comparez le contenu de la table TOMBEE et celui de la table HISTORIQUE_COURRIERS, essayez de retrouver le moment où le premier insert valide a été effectué, bref diagnostiquez avant d’appliquer la pommade.

    Vous découvrirez peut-être que la composition de votre clé primaire est à revoir. Autrement dit, il y a peut-être aussi un problème de modélisation, qui dans tous les cas ne doit pas être faussement résolu à coup d’expédients.

Discussions similaires

  1. Requete SQL sous MS SQL Server Imbriqué
    Par siva27 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 10/02/2014, 20h33
  2. Requete SQL sous MS SQL Server
    Par siva27 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 31/01/2014, 10h34
  3. [SQL server] requete sql join/union?
    Par Alex35 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/11/2007, 16h45
  4. Réponses: 2
    Dernier message: 04/11/2006, 00h33
  5. Requete SQL sur base SQL Server VB6
    Par Yanmeunier dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/11/2005, 12h30

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