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 :

UNION qui ne fonctionne pas


Sujet :

Langage SQL

  1. #1
    Membre actif
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Par défaut [RESOLU]UNION qui ne fonctionne pas
    mot clés : POSTGRES,UNION,CAST

    bonjour,

    j'ai un problème avec une requête où il y a un union

    je pense voir d'où vient le problème mais je ne sais pas comment le résoudre:

    première requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select distinct nom_nom,nom_version,nom_pro_num,nom_mar_num,log_cpu_num,log_see_num,lic_num,lic_num_serie,log_num,nom_num,log_log_num 
    into temp l5 
    from $tablelic,$tablelog,nom_logiciel 
    where $selection $champ>='$valeur'
     and lic_log_num=log_num 
    and log_nom_num=nom_num order by $tri");
    celle-là a l'air de bien passer

    Seconde requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select nom_nom,nom_version,nom_pro_num,nom_mar_num,log_cpu_num,log_see_num,0 as lic_num ,'' as lic_num_serie,log_num,nom_num,log_log_num 
    into temp l6 
    from logiciel,nom_logiciel 
    where $selection $champ>='$valeur' 
    and log_nom_num=nom_num and log_log_num>0"
    celle-là passe aussi mais je pense que le problème vient de là

    Troisième requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from l5 UNION select * from l6 order by $tri
    là erreur de PHP mais je pense que le problème vient de la seconde requête

    dans la seconde requête, la chose qui a l'air de le géner c
    j'ai essayé avec un '0 as' mais c pas mieux
    c champ n'existe pas dans les tables de ma seconde requête mais pour le UNION je dois avoir autant de champ dans les deux requêtes...

    comment puis-je faire?

    merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 51
    Par défaut
    j'ai essayé avec un '0 as' mais c pas mieux
    ce serait pas plutôt ?

  3. #3
    Membre actif
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Par défaut
    je l'ai mis en '' pour les besoins du message mais j'ai essayé

    message de Postgres comme quoi le type int4 et text ne sont pas compatible; ça semble normal

    même message que d'habitude

    en fait que doit-on mettre à la place du pour faire l'union comme on metpour les union sur des nombres?

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2003
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 44
    Par défaut
    assure toi que les types de variables sont les memes, et que dans le cas des champs texte, ils ont la meme taille.

    ce qui signifie pour lic_num_serie : si dans la première requete c'est un int , utilise '0 as ...', et dans la plupart des possibilités, tu devra faire un cast ... exemple (syntaxe Interbase, je ne suis pas certain de la syntaxe des autres SGBD) : CAST( ' ' AS CHAR[32]) AS lic_num_serie, ou char[32] serait le type de lic_num_serie de la 1ere requete. Le cast risque aussi d'etre nécéssaire si le type est booléen , flottant , etc ... bref, ça ne coute pas grand chose de le metre

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 51
    Par défaut
    t'as essayé avec une lettre, un mot quelconque ? genre
    juste pur voir si c'est bien le problème.

  6. #6
    Membre actif
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Par défaut
    ouais j'ai et j'ai comme message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function 'text(unknown)' does not exist Unable to identify a function that satisfies the given argument types You may need to add explicit typecasts
    et avec et j'ai comme message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query failed: ERROR: Attribute 'b' not found
    [/code]

  7. #7
    Membre éclairé
    Inscrit en
    Mars 2003
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 44
    Par défaut
    You may need to add explicit typecasts
    Comme quoi, je dois pas avoir tout a fait tort. tu as quel SGBD, et le cast se fait comment sous ce SGBD ? et quel est le type de données de lic_num_serie (dans la requete N°1)

  8. #8
    Membre actif
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Par défaut
    SGBD:postgres
    CAST de lic_num_serie: text

    >>Gillou: j'ai essayé un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cast('' as text) as lic_num_serie
    et ça marche !!

    merci Gillou(avez pas vu ton message avant de poster mon dernier) et colomban pour votre aide

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

Discussions similaires

  1. background-image et js qui ne fonctionne pas
    Par trialrofr dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/02/2005, 11h45
  2. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08
  3. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  4. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  5. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33

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