SQL дает исходную информацию - PullRequest
0 голосов
/ 03 марта 2019

Я сделал этот запрос на французском языке.Я не уверен, что вам нужна база данных для этого.Я использую ORACLE

Я просто хочу умножить среднее значение (Taux_remplissage) или MOY x 100, потому что я хочу это в процентах.Как я должен сделать?

SELECT numC , sum(prix) as Cout_Tot , avg(Taux_remplissage) as MOY
FROM
(
SELECT P.numC , P.dateDep , C.prix  ,nbRes , nbPlaces , ( R.nbRes / 
P.nbPlaces) as Taux_remplissage
FROM lesProgrammations P
JOIN lesReservations R ON R.numC = P.numC AND R.dateDep = P.dateDep  
JOIN lesCircuits C ON P.numC = C.numC
ORDER BY P.numC , P.dateDep
)
GROUP BY numC
ORDER BY numC;

РЕДАКТИРОВАТЬ: Спасибо за вашу помощь!Я нашел решение:)

avg(Taux_remplissage) * 100 / sum(Taux_remplissage) AS Taux_moy_remplissage

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Для этого подзапрос не требуется:

SELECT numC, sum(prix) as Cout_Tot,
       (100 * avg(R.nbRes / P.nbPlaces)) as MOY
FROM lesProgrammations P JOIN
     lesReservations R
     ON R.numC = P.numC AND R.dateDep = P.dateDep JOIN 
     lesCircuits C
     ON P.numC = C.numC
GROUP BY numC
ORDER BY numC;

Кроме того, ORDER BY не подходит для подзапроса.

0 голосов
/ 03 марта 2019

попробуйте, как показано ниже, просто умножьте avg(Taux_remplissage)*100

SELECT numC , sum(prix) as Cout_Tot , avg(Taux_remplissage)*100 as MOY
FROM
(
SELECT P.numC , P.dateDep , C.prix  ,nbRes , nbPlaces , ( R.nbRes / 
P.nbPlaces) as Taux_remplissage
FROM lesProgrammations P
JOIN lesReservations R ON R.numC = P.numC AND R.dateDep = P.dateDep  
JOIN lesCircuits C ON P.numC = C.numC
ORDER BY P.numC , P.dateDep
)
GROUP BY numC
ORDER BY numC;
...