4 - Consultas

From Grupo2 Ahand

(Difference between revisions)
Line 1: Line 1:
<table border="1" width="78%" cellspacing="1" id="table1">
<table border="1" width="78%" cellspacing="1" id="table1">
<tr>
<tr>
-
<td><font face="Courier New" size="2"><b><font color="#FF0000">SELECIONA  
+
<td><font face="Courier New" size="2"><b><font color="#FF0000">SELECIONA TODAS AS OCORRÊNCIAS DO MOTORISTA </font></b><br>
-
TODAS AS OCORRÊNCIAS DO MOTORISTA </font></b><br>
+
SELECT OM.*, M.NOME, M.ID_MOTORISTA FROM motoristas AS m,  
SELECT OM.*, M.NOME, M.ID_MOTORISTA FROM motoristas AS m,  
ocorrencias_motoristas AS om<br>
ocorrencias_motoristas AS om<br>
Line 9: Line 8:
<tr>
<tr>
<td><font face="Courier New" size="2"><br>
<td><font face="Courier New" size="2"><br>
-
<b><font color="#FF0000">-- SELECIONA O NÚMERO DE OCORRÊNCIAS POR  
+
<b><font color="#FF0000">-- SELECIONA O NÚMERO DE OCORRÊNCIAS POR MOTORISTA </font></b><br>
-
MOTORISTA </font></b><br>
+
SELECT COUNT(OM.ID_OCORRENCIA) AS TOTAL_OCORRENCIAS, M.NOME,  
SELECT COUNT(OM.ID_OCORRENCIA) AS TOTAL_OCORRENCIAS, M.NOME,  
M.ID_MOTORISTA FROM motoristas AS m, ocorrencias_motoristas AS om<br>
M.ID_MOTORISTA FROM motoristas AS m, ocorrencias_motoristas AS om<br>

Revision as of 09:06, 15 December 2006

SELECIONA TODAS AS OCORRÊNCIAS DO MOTORISTA

SELECT OM.*, M.NOME, M.ID_MOTORISTA FROM motoristas AS m, ocorrencias_motoristas AS om

WHERE m.id_motorista = om.id_motorista GROUP BY M.ID_MOTORISTA;

-- SELECIONA O NÚMERO DE OCORRÊNCIAS POR MOTORISTA
SELECT COUNT(OM.ID_OCORRENCIA) AS TOTAL_OCORRENCIAS, M.NOME, M.ID_MOTORISTA FROM motoristas AS m, ocorrencias_motoristas AS om

WHERE m.id_motorista = om.id_motorista GROUP BY M.ID_MOTORISTA;

-- SELECIONA INFORMAÇÕES DO USUÁRIO, QUAL A ROTA QUE O MESMO UTILIZA, SEU PONTO DE INICIO E FIM, COMO TB O BAIRRO E DESCRIÇÃO DA REFERÊNCIA
SELECT U.ID_USUARIO, U.NOME, U.CPF, R.ID_ROTA, R.PONTO_INICIO, R.PONTO_FIM, REF.BAIRRO, REF.DESCRICAO
FROM USUARIOS U, ROTAS R, REL_REFERENCIAS REL_REF, REFERENCIAS REF
WHERE U.ID_PROPRIETARIO = R.ID_PROPRIETARIO
AND R.ID_ROTA = REL_REF.ID_ROTA
AND REL_REF.ID_REFERENCIA = REF.ID_REFERENCIA;

-- APENAS

ORDENA PELO NOME DE USUÁRIO A CONSULTA ACIMA
SELECT U.ID_USUARIO, U.NOME, U.CPF, R.ID_ROTA, R.PONTO_INICIO, R.PONTO_FIM, REF.BAIRRO, REF.DESCRICAO
FROM USUARIOS U, ROTAS R, REL_REFERENCIAS REL_REF, REFERENCIAS REF
WHERE U.ID_PROPRIETARIO = R.ID_PROPRIETARIO
AND R.ID_ROTA = REL_REF.ID_ROTA

AND REL_REF.ID_REFERENCIA = REF.ID_REFERENCIA ORDER BY U.NOME;
-- CONTA

QUANTOS USUARIOS EXISTE POR ROTA, SEPARANDO OS RESULTADOS POR ROTA DECRESCENTE. ALÉM DISSO INFORMA O ID_ROTA COMO TAMBÉM PONTO DE INÍCIO E FIM
SELECT R.ID_ROTA, R.PONTO_INICIO, R.PONTO_FIM, COUNT(U.ID_USUARIO) TOTAL_USUARIOS
FROM USUARIOS U, ROTAS R, REL_REFERENCIAS REL_REF, REFERENCIAS REF
WHERE U.ID_PROPRIETARIO = R.ID_PROPRIETARIO
AND R.ID_ROTA = REL_REF.ID_ROTA
AND REL_REF.ID_REFERENCIA = REF.ID_REFERENCIA GROUP BY R.ID_ROTA DESC;



-- SELECIONA O NOME DO MOTORISTA, O VEÍCULO QUE DIRIGE, O PROPRIETARIO DESSE VEICULO, A ROTA QUE ESTE MOTORISTA FAZ, PERIODO, REFERENCIAS DESSA ROTA
SELECT M.ID_MOTORISTA, M.NOME, P.NOME AS PROPRIETARIO_VEICULO, V.MARCA, V.ANO, V.MODELO, V.PLACA, V.COR,R.ID_ROTA, R.PONTO_INICIO, R.PONTO_FIM, PE.NOME_PERIODO,REF.BAIRRO, REF.DESCRICAO
FROM MOTORISTAS M, PROPRIETARIOS P, VEICULOS_PROPRIETARIOS VP, VEICULOS V, ROTAS R, PERIODOS PE, REL_REFERENCIAS REL_REF, REFERENCIAS REF
WHERE M.ID_PROPRIETARIO = P.ID_PROPRIETARIO
AND P.ID_PROPRIETARIO = VP.ID_PROPRIETARIO
AND VP.ID_VEICULO = V.ID_VEICULO
AND P.ID_PROPRIETARIO = R.ID_PROPRIETARIO
AND R.ID_ROTA = PE.ID_ROTA
AND R.ID_ROTA = REL_REF.ID_ROTA

AND REL_REF.ID_REFERENCIA = REF.ID_REFERENCIA;
Personal tools