éxecution de requête sql

Fermé
jihen_badreddine Messages postés 14 Date d'inscription vendredi 24 juin 2016 Statut Membre Dernière intervention 10 février 2018 - 21 août 2017 à 08:54
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 28 août 2017 à 10:35
Bonjour;

J'ai créé cette vue et lors de l'éxecution de la requête sql aucun résultat n'a pas donné, où se trouve l’erreur ???


Create view Q10_Project  As select  c_custkey, c_name, sum(l_extendedprice * (1 - l_discount)) as revenue, c_acctbal, n_name, c_address, c_phone, c_comment from customer, orders,  lineitem, nation group by c_custkey, c_name, c_acctbal, c_phone, n_name, c_address, c_comment order by revenue desc ;



SELECT c_custkey, c_name, revenue, c_acctbal, n_name, c_address, c_phone, c_comment from Q10_Project ; 


Et merci.

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
21 août 2017 à 09:08
Bonjour

As tu essayé tes requêtes DIRECTEMENT dans ta bdd (via phpmyadmin par exemple) ?
Si oui... tu dois avoir in message d'erreur je pense...
0
jihen_badreddine Messages postés 14 Date d'inscription vendredi 24 juin 2016 Statut Membre Dernière intervention 10 février 2018
21 août 2017 à 23:01
Bonsoir;

oui j'ai essayé de l’exécuter sur Mysql workbench il passe beaucoup du temps puis il m'affiche un message temps expiré
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jihen_badreddine Messages postés 14 Date d'inscription vendredi 24 juin 2016 Statut Membre Dernière intervention 10 février 2018
22 août 2017 à 02:48
Commence par tester cette requête : (celle qui sert à créer la vue )
SELECT c_custkey, c_name, sum(l_extendedprice * (1 - l_discount)) as revenue, c_acctbal, n_name, c_address, c_phone, c_comment 
FROM customer, orders,  lineitem, nation 
GROUP BY c_custkey, c_name, c_acctbal, c_phone, n_name, c_address, c_comment 
ORDER BY revenue desc 


Moi je vois déjà un souci !
Tu as mis plusieurs Tables dans le FROM ... mais tu ne fais aucune jointure (aucun lien) entre elles.....
0
jihen_badreddine Messages postés 14 Date d'inscription vendredi 24 juin 2016 Statut Membre Dernière intervention 10 février 2018 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
Modifié le 28 août 2017 à 10:33
Bonjour;

Oui je te compris mais la problème c'est que mon travail est de créer toutes les vues concernant mes 22 requêtes benchmark ( ici une parmi les 22) , c'est à dire je divise les requêtes selon les opérations quelles contiennent tel que la projection,jointure , sélection ...., c'est pourquoi j'ai créer des vues qui fait seulement la projection puis les jointures etc

Un exemple :

Requête

select s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_address, s_phone, s_comment
from part, supplier, partsupp, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and p_size = 1 and p_type like '%NICKEL' and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA' and ps_supplycost = ( select min(ps_supplycost) from partsupp, supplier, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA' ) order by s_acctbal desc, n_name, s_name, p_partkey;



Liste de vues :


V1 :Q2_Project1

Create view Q2_Project1 As select s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_address, s_phone, s_comment from part, supplier, partsupp, nation, region order by s_acctbal desc, n_name, s_name, p_partkey ;


SELECT * FROM Q2_Project1 ;


V2 :Q2_Join_P_PS


Create view Q2_Join_P_PS As select p_partkey , ps_partkey from part, partsupp where p_partkey = ps_partkey ;

select * from Q2_Join_P_PS ;




V3 :Q2_Join_S_PS


Create view Q2_Join_S_PS As select * from supplier, partsupp where s_suppkey = ps_suppkey ;

select * from Q2_Join_S_PS ;



V4 :Q2_Filter1


Create view Q2_Filter1 As select * from part where p_size = 1 ;

select * from Q2_Filter1 ;



V5 :Q2_Filter2


Create view Q2_Filter2 As select * from part where p_type like '%NICKEL' ;

select * from Q2_Filter2 ;



V6 :Q2_Join_S_N


Create view Q2_Join_S_N As select * from supplier, nation where s_nationkey = n_nationkey ;

select * from Q2_Join_S_N ;



V7 :Q2_Join_N_R

Create view Q2_Join_N_R As select * from nation, region where n_regionkey = r_regionkey;

select * from Q2_Join_N_R ;



V8 :Q2_Filter3


Create view Q2_Filter3 As select * from region where r_name = 'AMERICA' ;

select * from Q2_Filter3 ;


V9 :Q2_Project2





Create view Q2_Project2 As select min(ps_supplycost) as min_ps_supplycost from partsupp, supplier, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA';

select min_ps_supplycost from Q2_Project2 ;





Create view Q2_Project2 As select ps_supplycost,r_name from partsupp, supplier, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and s_nationkey = n_nationkey and n_regionkey = r_regionkey ;


select min(ps_supplycost) from Q2_Project2 where r_name = 'AMERICA';
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jihen_badreddine Messages postés 14 Date d'inscription vendredi 24 juin 2016 Statut Membre Dernière intervention 10 février 2018
28 août 2017 à 10:35
Alors moi par contre... je n'ai rien compris à ton "explication" ...
Oui tu créés des vues .. ok ... mais pour les créer tu te sers de requêtes .... ces requêtes doivent être valides .... sans ça... ça ne marchera pas correctement....

Donc... la requête que je t'ai demandé de testé est juste la partie "SELECT" de ta vue.
¨Pour moi... cette requête est foireuse .... et je te demande de la tester pour que tu t'en rendes compte par toi même...
Voila. On ne peut rien faire de plus pour toi !
0