Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- departamento.nome,
- divisao.nome,
- emp_calculado.media,
- emp_calculado.salario
- FROM
- (
- SELECT
- empregado.lotacao_div,
- CAST(
- AVG(
- (
- COALESCE(t_vencimento.Vencimento, 0) - COALESCE(t_desconto.Desconto, 0)
- )
- ) AS DECIMAL(8, 2)
- ) AS media,
- CAST(
- MAX(
- (
- COALESCE(t_vencimento.Vencimento, 0) - COALESCE(t_desconto.Desconto, 0)
- )
- ) AS DECIMAL(8, 2)
- ) AS salario
- FROM
- empregado
- LEFT JOIN (
- SELECT
- emp_desc.matr,
- SUM(desconto.valor) AS Desconto
- FROM
- desconto
- INNER JOIN emp_desc ON desconto.cod_desc = emp_desc.cod_desc
- GROUP BY
- emp_desc.matr
- ) AS t_desconto ON empregado.matr = t_desconto.matr
- LEFT JOIN (
- SELECT
- emp_venc.matr,
- SUM(vencimento.valor) AS Vencimento
- FROM
- vencimento
- INNER JOIN emp_venc ON vencimento.cod_venc = emp_venc.cod_venc
- GROUP BY
- emp_venc.matr
- ) AS t_vencimento ON empregado.matr = t_vencimento.matr
- GROUP BY
- lotacao_div
- ) AS emp_calculado
- INNER JOIN divisao ON divisao.cod_divisao = emp_calculado.lotacao_div
- INNER JOIN departamento ON divisao.cod_dep = departamento.cod_dep
- ORDER BY
- emp_calculado.media DESC;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement