Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2004, 17h36   #1
Membre à l'essai
 
Inscription : juin 2003
Messages : 55
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 55
Points : 20
Points : 20
Par défaut Requête UNION sous Interbase 6 ...

Salut,

Je souhaite lancer une requête UNION sous interbase 6 mais j'ai une erreur du type :

Dynamic SQL Error
SQL error code = -104
Invalid command
Data type unknown

Voici ce que j'ai codé :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
SELECT
   Numero,
   no_env,
   montant
FROM
   table1
WHERE date IS NOT NULL
  AND rejet1 IS NULL
union
SELECT
   Numero,
   no_env,
   ' '
FROM
   table1 e
WHERE date IS NOT NULL
  AND rejet1 IS NULL
  AND NOT EXISTS (SELECT * FROM table2 f WHERE f.numero = e.numero)
;
Il me plante sur la colonne qui manque ... c'est sans doute une erreur de syntaxe mais je voit pas du tout où ...

Merci d'avance pour votre aide,

DJEDJERIDOO
Djedjeridoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2004, 19h32   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Par défaut Re: Requête UNION sous Interbase 6 ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
SELECT
   Numero,
   no_env,
   montant
FROM
   table1
WHERE date IS NOT NULL
  AND rejet1 IS NULL
union
SELECT
   Numero,
   no_env,
   0.0
FROM
   table1 e
WHERE date IS NOT NULL
  AND rejet1 IS NULL
  AND NOT EXISTS (SELECT * FROM table2 f WHERE f.numero = e.numero)
;
serait pas mieux ?
oubien :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
SELECT
   Numero,
   no_env,
   montant
FROM
   table1
WHERE date IS NOT NULL
  AND rejet1 IS NULL
union
SELECT
   Numero,
   no_env,
   NULL
FROM
   table1 e
WHERE date IS NOT NULL
  AND rejet1 IS NULL
  AND NOT EXISTS (SELECT * FROM table2 f WHERE f.numero = e.numero)
;
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2004, 09h08   #3
Membre à l'essai
 
Inscription : juin 2003
Messages : 55
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 55
Points : 20
Points : 20
Merci beaucoup du tuyau !!

Ca marche super bien !!

@+

DJEDJERIDOO
Djedjeridoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h32.


 
 
 
 
Partenaires

Hébergement Web