|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 13 ![]() |
Bonjour,
je n'arrive pas à comprendre l'erreur voilà j'execute cette requête Code :
SELECT * FROM parcelle003 WHERE pcl_id IN (SELECT pcl_id FROM parcelles_et_departements WHERE dpt_numero='003') Citation:
Alors je ne sais pas d'où ça vient parce que la sous-requête me retourne bien des tuples. et on dirait que la position 40 correspond à l'opérateur IN merci d'avance!! |
|
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
D'après l'erreur il est vraisemblable que parcelle003.pcl_id est de type chaine de caractères alors que parcelles_et_departements.pcl_id est de type entier.
S'ils désignent la même chose, ils devraient avoir le même type. Si ce n'est pas possible, alors il faut utiliser un CAST pour convertir le type dynamiquement dans la requête. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 13 ![]() |
Ah oui c'est bien ça.
En fait parcelles_et_departements est une vue. la requête suivante marche bien Code :
SELECT * FROM parcelles_et_departements WHERE dpt_numero='003' AND pcl_id NOT IN (SELECT DISTINCT cast(pcl_id AS integer) FROM parcelle003) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com