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

SQL Firebird Discussion :

[requete] JOINTURE et valeur null


Sujet :

SQL Firebird

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut [requete] JOINTURE et valeur null
    Bonjour, je vous explique mon problème.

    J'ai une table qui se nomme dons avec les champs suivant : IDDONS et IDMONTANT.

    J'ai une autre table qui se nomme MONTANT avec les champs suivant : IDMONTANT et DESCMONTANT. ex : 1 - 10$

    $requete = "SELECT D.IDDONS, M.DESCMONTANT FROM Dons D
    INNER JOIN MONTANT M ON D.IDMONTANT = M.IDMONTANT";

    Jusque là tout vas bien, mon problème est qu'il est possible que la valeur de IDMONTANT dans la table Dons soit null et sa fais planter ma requete..

    Avez vous une idée ? merci
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 79
    Points : 58
    Points
    58
    Par défaut
    Salut
    Essayer avec la requette en ajout :
    WHERE
    IDMONTANT not NULL

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    en fais le null dans la bd est en string ('null') et je voudrais etre capable de le sortir (null) quand je fais ma requete..
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 052
    Points : 40 991
    Points
    40 991
    Billets dans le blog
    62
    Par défaut
    1° possibilité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT D.IDDONS, M.DESCMONTANT FROM Dons D
    INNER JOIN MONTANT M ON D.IDMONTANT = M.IDMONTANT
    WHERE MONTANT<>'null'
    2° possibilité , si la version de Firebird le permet,, utiliser un CASE ou IIF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT D.IDDONS, IIF(M.DESCMONTANT='null','0$',M.DESCMONTANT) AS DESCMONTANT FROM Dons D
    INNER JOIN MONTANT M ON D.IDMONTANT = M.IDMONTANT
    là je suis moins sur de ma syntaxe , mais l'esprit est là
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    la deuxième solution m'intéresse mais j'obtiens l'erreur suivante :

    conversion error from string quot;nullquot; in C:\.....

    je possède firebird 2.1
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  6. #6
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    La syntaxe donné par SergioMaster est correcte. C'est donc du coté de votre application que ca pose probleme.

    Quel environnement de développement ? Quel type et composants d'accès ?

    Ca aurait été bien également d'avoir les définitions des tables
    sous la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE DONS (
        ID           INTEGER,
        DESCRIPTION  VARCHAR(20),
       ....
    );
    De plus quand vous dites :
    Citation Envoyé par jeepibmx Voir le message
    Jusque là tout vas bien, mon problème est qu'il est possible que la valeur de IDMONTANT dans la table Dons soit null et sa fais planter ma requete..
    IDMontant soit null on comprend que le champ n'a pas de valeur. Alors qu'apparemment IDMontant est de type CHAR (ou varchar) et il contient parfois la valeur 'null' ce qui n'a rien à voir...
    Enfin :
    "Fait planter ma requete" veut dire qu'il y a un message d'erreur. Mais quel est il ?
    Oubien vous voulez dire que la requete ne ramennent pas ce que vous souhaitez ?

    Enfin, tout ce qui permet à un extérieur à votre problème de pouvoir l'aborder.

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 052
    Points : 40 991
    Points
    40 991
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Barbibulle Voir le message
    La syntaxe donné par SergioMaster est correcte.
    super, j'avais un doute
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. requete avec la valeur NULL
    Par Hinkel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 12/11/2008, 16h39
  2. [REQUETE] jointure et valeur 'null'
    Par jeepibmx dans le forum Langage SQL
    Réponses: 10
    Dernier message: 17/07/2008, 19h12
  3. Jointure et valeur NULL
    Par BiM dans le forum Langage SQL
    Réponses: 6
    Dernier message: 23/05/2005, 16h26
  4. Type de jointure et valeur NULL
    Par HULK dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/01/2005, 14h22
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 14h40

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