Créer des vues pour des Requêtes Sql
Résolu
jihen_badreddine
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
jihen_badreddine Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
jihen_badreddine Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Bonjour;
Cette requête contient une projection et un filtrage et aprés la création de vue et lors de l’exécution du requête j'ai cette erreur :
ERROR 1054 (42S22): Unknown column 'l_quantity' in 'field list'
V1 : Q1_Project_lineitem
V2 :Q1_Filter_lineitem
Merci de me répondre a ma question
Cette requête contient une projection et un filtrage et aprés la création de vue et lors de l’exécution du requête j'ai cette erreur :
ERROR 1054 (42S22): Unknown column 'l_quantity' in 'field list'
V1 : Q1_Project_lineitem
Create view Q1_Project_lineitem As select l_returnflag ,l_linestatus, sum(l_quantity) as sum_qty,sum(l_extendedprice) as sum_base_price,sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,sum(l_extendedprice * (1 - l_discount) * (1 +l_tax)) as sum_charge,avg(l_quantity) as avg_qty,avg(l_extendedprice) as avg_price,avg(l_discount) as avg_disc,count(*) as count_order from lineitem group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;
select l_returnflag, l_linestatus, sum(l_quantity) as sum_qty, sum(l_extendedprice) as sum_base_price, sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
avg(l_quantity) as avg_qty, avg(l_extendedprice) as avg_price, avg(l_discount) as avg_disc, count(*) as count_order from Q1_Project_lineitem group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;
V2 :Q1_Filter_lineitem
Create view Q1_Filter_lineitem As select * from lineitem where l_shipdate <= date '1998-12-01' - interval '1' day ;
select * from Q1_Filter_lineitem where l_shipdate <= date '1998-12-01' - interval '1' day ;
Merci de me répondre a ma question
A voir également:
- Créer des vues pour des Requêtes Sql
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Comment créer un compte gmail - Guide
- Créer une carte avec des points - Guide
1 réponse
Bonjour,
Si tu définis une vue, c'est justement pour ne pas avoir besoin de rappeler les fonctions et clauses qui permettent son obtention.
Dans ta v1, tu as défini Q1_Project_lineitem avec les colonnes l_returnflag, l_linestatus, sum_qty, sum_base_price, sum_disc_price, sum_charge, avg_qty, avg_price, avg_disc et count_order
Tous les autres noms de colonnes, ceux issus de la table d'origine, sont inconnus dans la vue. De plus, la clause GROUP BY est déjà incluse, pas besoin de la rajouter.
Ta requête doit être, tout simplement :
Dans ta v2, même remarque : le WHERE est déjà donné dans la vue, pas la peine de le rajouter :
Xavier
Si tu définis une vue, c'est justement pour ne pas avoir besoin de rappeler les fonctions et clauses qui permettent son obtention.
Dans ta v1, tu as défini Q1_Project_lineitem avec les colonnes l_returnflag, l_linestatus, sum_qty, sum_base_price, sum_disc_price, sum_charge, avg_qty, avg_price, avg_disc et count_order
Tous les autres noms de colonnes, ceux issus de la table d'origine, sont inconnus dans la vue. De plus, la clause GROUP BY est déjà incluse, pas besoin de la rajouter.
Ta requête doit être, tout simplement :
SELECT l_returnflag, l_linestatus, sum_qty, sum_base_price, sum_disc_price, sum_charge, avg_qty, avg_price, avg_disc, count_order FROM Q1_Filter_lineitem
Dans ta v2, même remarque : le WHERE est déjà donné dans la vue, pas la peine de le rajouter :
select * from Q1_Filter_lineitemaura le même effet.
Xavier
jihen_badreddine
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
Merci