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
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    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 expérimenté
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    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 Expert

    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
    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
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    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
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    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 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    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.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Membre Expert

    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
    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
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    ok je comprends ce ke vous me dites mais c'est quoi la soulution alors?

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

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

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

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

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    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
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    ca veut dire koi en auto-increment??

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    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
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    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 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    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
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

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

  17. #17
    Membre Expert

    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
    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
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    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
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 191
    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 191
    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.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

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