Soit la base de données "emd1718" accessible via l'adresse FTP @adresse avec le nom d'utilisateur "U" et le mot de passe "PW". L'onglet Concepteur de la page Administration MySQL du serveur nous donne le schéma conceptuel suivant :
Les enregistrements contenus dans chaque table sont : | |
Table1 |
Table3 |
Table2 |
Donner le script PHP qui permet de créer la base de données, de créer les tables et d'ajouter les enregistrements ci-dessus dans les tables respectives.
Donner le script PHP contenant une requête SQL (sans fonctions d'agrégats) permettant d'afficher les résultats ci-dessous :
Remarque : Donnez le script complet pour la question (a), et juste la requête pour les autres questions.
2. Donner le résultat affiché avec chacune des requêtes suivantes :
a. | SELECT `table3`.`Num1` as `X`, sum(`table2`.`Champ3` * `table3`.`Champ4`) as `Y` FROM `table1`, `table3`, `table2` Where `table1`.`Num1`= `table3`.`Num1` AND `table2`.`Num2`=`table3`.`Num2` and `table1`.`Date1` >= '2018-01-10' and `table1`.`Date1` <= '2018-01-13' group by `table3`.`Num1` |
Consulter le script |
---|---|---|
b. | SELECT `table3`.`Num1` as `X`, avg(`table2`.`Champ3` * `table3`.`Champ4`) as `Y` FROM `table1`, `table3`, `table2` Where `table1`.`Num1`= `table3`.`Num1` AND `table2`.`Num2`=`table3`.`Num2` group by `table3`.`Num1` having `Y` <= '15000' order by `Y` |
Consulter le script |
c. | SELECT distinct `table3`.`Num1` as `X`, count(`table3`.`Champ4`) as `Y` FROM `table1`, `table3`, `table2` Where `table1`.`Num1`= `table3`.`Num1` AND `table2`.`Num2`=`table3`.`Num2` group by `table3`.`Num2` having `Y` <= '2' order by `Y` |
Consulter le script |
Solution :
a. | b. | c. |
---|---|---|
Donner le script PHP qui permet de transférer le résultat de la requête suivante dans un fichier Texte nommé Liste.txt.
SELECT distinct `table3`.`Num1` as `X`, sum(`table3`.`Champ4`* '1.618') as `Y`
FROM `table1`, `table3`, `table2`
Where `table1`.`Num1`= `table3`.`Num1` AND `table2`.`Num2`=`table3`.`Num2`
group by `table3`.`Num2`
order by `Y` DESC";