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

Requêtes PostgreSQL Discussion :

Message d'erreur "la colonne w.it n'existe pas"


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre averti
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    février 2008
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : février 2008
    Messages : 441
    Points : 413
    Points
    413
    Par défaut Message d'erreur "la colonne w.it n'existe pas"
    Bonjour,

    Je viens de migrer ma base SQL en postgreSQL et je dois donc corriger beaucoup de requêtes de mes rapports afin de les rendre opérationnels.

    J'ai un message d'erreur sur une de mes requête
    ERREUR : ERREUR: la colonne w.it n'existe pas
    LINE 3: w.IT as "code_IT",
    ^
    HINT: Peut-être que vous souhaitiez référencer la colonne « sm.id ».


    État SQL : 42703
    Caractère : 33
    et je ne comprend pas cette erreur.
    Pouvez-vous me guider.
    Voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    SELECT 
    w.client as "w_client",
    w.IT as "code_IT",
    w.engin as "w_engin",
    itvm.ref as "ref_art",
    itvm.it_desc as "desc_art",
    sum(SM.MOVEMENTQUANTITY) as "Qte_sortie",
    coalesce(vm.qte_vm,0) as "qte_vm",
     
    sum(SM.MOVEMENTQUANTITY)+ coalesce(vm.qte_vm,0) as "qté a rendre"
     
    FROM CSST_STOCKMOVEMENT SM
     
    /*on fait la jointure avec la sous requete articLe*/
    	INNER join 
    		(SELECT 
    		it.id as "item_id",
    		e.code as "ref",
    		e.DESCRIPTION as"it_desc"
    		FROM CSST_ITEM it
    		/*fait une jointure pour avoir le code de l article*/
    			left outer join CSEQ_EQUIPMENT e
    			ON
    				it.id = e.id
    			/*que les vieilles matières*/
    			WHERE it.bsppisoldmatter = true) itvm
    		ON itvm.item_id = SM.ITEM_ID
    	/*fait une jointure avec les it*/
    	inner join 
    		(select 
    	wo.CODE as "IT",
    	wo.id as "id_wo",
    	sit.site_code as "client",
    	at.CODE as "type it",
    	mat.CODE as "engin"
    	FROM CSWO_WO wo
    	/* fait une jointure pour le type d it*/
    		inner join CSWO_ACTIONTYPE at
    		ON
    			at.ID =wo.ACTIONTYPE_ID
    	/*fait une jointure pour avoir l atelier de l it et que les ateliers du BMCO sauf PTV afin d'enlever les VM sortie du stock tri pour réparation*/
    		INNER join (SELECT 
    			si.ID as "site_id",
    			si.CODE as "site_code"
    			FROM CSSY_SITE si
    			WHERE si.BSPPGROUPING like'ATELIER_BMCO' and si.CODE <>'BMCO_PTV')sit
    			ON sit.site_id = wo.BSPPATELIER_ID
    	/*fait une requete pour avoir l engin*/
    		left outer join (SELECT 
    			woeq.WO_ID,
    			eq.CODE
    			from CSWO_WOEQPT woeq
    			left outer join CSEQ_EQUIPMENT eQ
    				ON woeq.EQPT_ID = eq.ID
    				where STRUCTURE_ID like 'MATERIAL') mat
    			ON wo.ID =mat.WO_ID) w
    		ON w.id_wo=SM.WO_ID
     
    /*On fait la jointure avec le type mvt*/
    	inner join (select 
    		ID as "typemvt_id",
    		CATEGORY as "type"
    		from CSST_MOVEMENTTYPE TYPEMVT
    		where (TYPEMVT.CATEGORY ='ISSUE'and TYPEMVT.Code <>'ELIMINATION_DESTRUC') or (TYPEMVT.CATEGORY ='ENTRY' and TYPEMVT.Code <>'ELIMINATION_DESTRUC') ) type_mvt
    		on SM.MOVEMENTTYPE_ID =type_mvt.typemvt_id
    	/*on fait la jointure avec IT VM*/
    	left outer join (SELECT 
    		   art_e.CODE as "art_code",
    		   entrees.ITEM_ID as "id_item_vm",
    		   entrees.BSPPOLDMATTERWO_ID as "id_wo",
    		   SUM(entrees.MOVEMENTQUANTITY) as "qte_vm"
    			FROM CSST_STOCKMOVEMENT entrees
    			INNER JOIN CSST_ITEM art_i ON art_i.ID = entrees.ITEM_ID
    			INNER JOIN CSEQ_EQUIPMENT art_e ON art_e.ID = art_i.ID
    			WHERE entrees.BSPPOLDMATTERWO_ID is not null
    		   	AND art_i.BSPPISOLDMATTER = true  
    			GROUP BY 
    			art_e.CODE,
    		   entrees.ITEM_ID,
    		   entrees.BSPPOLDMATTERWO_ID) vm
    	   		on vm.id_wo = sm.WO_ID 
    	   		and vm.id_item_vm = sm.ITEM_ID
     
    	GROUP BY 
    	w.client,
    	w.IT,
    	w.engin,
    	itvm.ref,
    	itvm.it_desc,
    	vm.qte_vm
    HAVING sum(SM.MOVEMENTQUANTITY) + coalesce(vm.qte_vm,0) <0
    Cordialement
    Seb
    Débutant, j’essaie de m’améliorer en essayant d'aider sur le forum
    Merci d’être indulgent sur le code ou réponse proposé je reçois volontiers les critiques qui me feront progresser, mais aussi un (ça fait toujours plaisir de savoir que l on a pu dépanner une personne ).

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    mai 2002
    Messages
    8 915
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2002
    Messages : 8 915
    Points : 29 791
    Points
    29 791
    Par défaut
    Bonjour,

    Il n'est nécessaire d'encadrer les noms d'objets (colonnes, tables...) avec des guillemets que si l'on souhaite utiliser des noms ne respectant pas la norme (mots réservés ou comportant des caractères accentués, des espaces...), comme à la ligne 10.
    Par défaut, les noms d'objet ne sont pas sensibles à la casse... sauf s'ils sont encadrés de guillemets.

    Tu remarqueras que le message d'erreur mentionne l'absence de la colonne w.it et non w.IT comme tu l'as écrit.

    Essaie de supprimer les guillemets autour de IT à la ligne 31 ou d'en ajouter à la ligne 3. Tu devrais ne plus rencontrer ce problème.
    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.

  3. #3
    Membre averti
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    février 2008
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : février 2008
    Messages : 441
    Points : 413
    Points
    413
    Par défaut
    Merci beaucoup pour les explications.
    J'ai supprimé les guillemets et ça fonctionne.
    Merci encore
    Bonne soirée
    Seb
    Débutant, j’essaie de m’améliorer en essayant d'aider sur le forum
    Merci d’être indulgent sur le code ou réponse proposé je reçois volontiers les critiques qui me feront progresser, mais aussi un (ça fait toujours plaisir de savoir que l on a pu dépanner une personne ).

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/01/2012, 12h02
  2. Réponses: 16
    Dernier message: 22/02/2010, 18h18
  3. Réponses: 3
    Dernier message: 17/09/2009, 12h07
  4. Message d'erreur - le service d'impression ne fonctionne pas
    Par Louis Griffont dans le forum Windows XP
    Réponses: 1
    Dernier message: 15/02/2009, 15h39
  5. WSS 3 : Message d'erreur sur colonne date calculée
    Par ilfaitbeau dans le forum SharePoint
    Réponses: 1
    Dernier message: 30/08/2007, 10h50

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