• Nenhum resultado encontrado

Consultas SQL realizadas na análise dos dados

1.1.Quais funcionalidades não possuem chamados? SELECT * FROM funcionalidade

WHERE id NOT IN

(SELECT idFuncionalidade FROM chamado_funcionalidade

INNER JOIN chamado ON chamado_funcionalidade.IdOriginalChamado = chamado.idOriginal

WHERE chamado.dataInicial <= '2013-11-30');

1.2.Quais funcionalidades não possuem testes? SELECT * FROM funcionalidade

WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade WHERE idFuncionalidade <> '');

1.3.Quais são as funcionalidades sem testes e sem chamados? SELECT * FROM funcionalidade

WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade WHERE idFuncionalidade <> '')

AND id NOT IN (SELECT DISTINCT idFuncionalidade FROM chama- do_funcionalidade);

1.4.Quais chamados não possuem testes? SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade WHERE idFuncionalidade <> '')) as funcionalidadeSemTestes

ON (chamado_funcionalidade.idFuncionalidade = funcionalidadeSemTestes.id); 1.4.1. Chamados até setembro de 2014 que não possuem testes SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

-- Funcionalidades sem Testes

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

WHERE idFuncionalidade <> '' UNION

-- Funcionalidades com testes criados a partir de outubro SELECT DISTINCT idFuncionalidade

FROM teste_funcionalidade INNER JOIN teste ON teste_funcionalidade.IdTeste = teste.id WHERE idFuncionalidade <> '' AND

teste.MesAno > '2014-09-30' )) as func_com_testes_out ON chamado_funcionalidade.idFuncionalidade = func_com_testes_out.id WHERE (DataInicial <= '2014-09-30');

1.4.2. Chamados até outubro de 2014 que não possuem testes SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

WHERE idFuncionalidade <> '' UNION

SELECT DISTINCT idFuncionalidade

FROM teste_funcionalidade INNER JOIN teste ON teste_funcionalidade.IdTeste = teste.id WHERE idFuncionalidade <> '' AND

teste.MesAno > '2014-10-31' )) as func_com_testes_out ON chamado_funcionalidade.idFuncionalidade = func_com_testes_out.id WHERE (DataInicial <= '2014-10-31');

1.4.3. Chamados até novembro de 2014 que não possuem testes SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

WHERE idFuncionalidade <> '' UNION

SELECT DISTINCT idFuncionalidade

FROM teste_funcionalidade INNER JOIN teste ON teste_funcionalidade.IdTeste = teste.id WHERE idFuncionalidade <> '' AND

teste.MesAno > '2014-11-30' )) as func_com_testes_out ON chamado_funcionalidade.idFuncionalidade = func_com_testes_out.id WHERE (DataInicial <= '2014-11-30');

1.4.4. Chamados até dezembro de 2014 que não possuem testes SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

WHERE idFuncionalidade <> '' UNION

SELECT DISTINCT idFuncionalidade

FROM teste_funcionalidade INNER JOIN teste ON teste_funcionalidade.IdTeste = teste.id WHERE idFuncionalidade <> '' AND

teste.MesAno > '2014-12-31' )) as func_com_testes_out ON chamado_funcionalidade.idFuncionalidade = func_com_testes_out.id WHERE (DataInicial <= '2014-12-31');

1.4.5. Chamados até janeiro de 2015 que não possuem testes

SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

WHERE idFuncionalidade <> '' UNION

SELECT DISTINCT idFuncionalidade

FROM teste_funcionalidade INNER JOIN teste ON teste_funcionalidade.IdTeste = teste.id WHERE idFuncionalidade <> '' AND

teste.MesAno > '2015-01-31' )) as func_com_testes_out ON chamado_funcionalidade.idFuncionalidade = func_com_testes_out.id WHERE (DataInicial <= '2015-01-31');

1.4.6. Chamados até fevereiro de 2015 que não possuem testes

SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

UNION

SELECT DISTINCT idFuncionalidade

FROM teste_funcionalidade INNER JOIN teste ON teste_funcionalidade.IdTeste = teste.id WHERE idFuncionalidade <> '' AND

teste.MesAno > '2015-02-28' )) as func_com_testes_out ON chamado_funcionalidade.idFuncionalidade = func_com_testes_out.id WHERE (DataInicial <= '2015-02-28');

1.4.7. Chamados até março de 2015 que não possuem testes SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

WHERE idFuncionalidade <> '' UNION

SELECT DISTINCT idFuncionalidade

FROM teste_funcionalidade INNER JOIN teste ON teste_funcionalidade.IdTeste = teste.id WHERE idFuncionalidade <> '' AND

teste.MesAno > '2015-03-31' )) as func_com_testes_out ON chamado_funcionalidade.idFuncionalidade = func_com_testes_out.id WHERE (DataInicial <= '2015-03-31');

1.5.Quais chamados possuem testes? SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade WHERE idFuncionalidade <> '')) as funcionalidadeComTestes

ON (chamado_funcionalidade.idFuncionalidade = funcionalidadeComTestes.id);

1.5.1. Chamados que possuem testes até setembro de 2014

SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

INNER JOIN teste

WHERE idFuncionalidade <> '' AND teste.MesAno <= '2014-09-30')) as funcio- nalidadeComTestes

ON (chamado_funcionalidade.idFuncionalidade = funcionalidadeComTestes.id) WHERE chamado.DataInicial <= '2014-09-30';

1.5.2. Chamados que possuem testes até outubro de 2014 SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

INNER JOIN teste

ON teste_funcionalidade.IdTeste = teste.Id

WHERE idFuncionalidade <> '' AND teste.MesAno <= '2014-10-31')) as funcio- nalidadeComTestes

ON (chamado_funcionalidade.idFuncionalidade = funcionalidadeComTestes.id) WHERE chamado.DataInicial <= '2014-10-31';

1.5.3. Chamados que possuem testes até novembro de 2014 SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

INNER JOIN teste

ON teste_funcionalidade.IdTeste = teste.Id

WHERE idFuncionalidade <> '' AND teste.MesAno <= '2014-11-30')) as funcio- nalidadeComTestes

ON (chamado_funcionalidade.idFuncionalidade = funcionalidadeComTestes.id) WHERE chamado.DataInicial <= '2014-11-30';

1.5.4. Chamados que possuem testes até dezembro de 2014

SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

INNER JOIN teste

ON teste_funcionalidade.IdTeste = teste.Id

WHERE idFuncionalidade <> '' AND teste.MesAno <= '2014-12-31')) as funcio- nalidadeComTestes

WHERE chamado.DataInicial <= '2014-12-31';

1.5.5. Chamados que possuem testes até janeiro de 2015

SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

INNER JOIN teste

ON teste_funcionalidade.IdTeste = teste.Id

WHERE idFuncionalidade <> '' AND teste.MesAno <= '2015-01-31')) as funcio- nalidadeComTestes

ON (chamado_funcionalidade.idFuncionalidade = funcionalidadeComTestes.id) WHERE chamado.DataInicial <= '2015-01-31';

1.5.6. Chamados que possuem testes até fevereiro de 2015

SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

INNER JOIN teste

ON teste_funcionalidade.IdTeste = teste.Id

WHERE idFuncionalidade <> '' AND teste.MesAno <= '2015-02-28')) as funcio- nalidadeComTestes

ON (chamado_funcionalidade.idFuncionalidade = funcionalidadeComTestes.id) WHERE chamado.DataInicial <= '2015-02-28';

1.5.7. Chamados que possuem testes até março de 2015

SELECT * FROM chamado

INNER JOIN chamado_funcionalidade

ON chamado.IdOriginal = chamado_funcionalidade.IdOriginalChamado INNER JOIN

(SELECT * FROM funcionalidade WHERE id IN

(SELECT DISTINCT idFuncionalidade FROM teste_funcionalidade

INNER JOIN teste

ON teste_funcionalidade.IdTeste = teste.Id

WHERE idFuncionalidade <> '' AND teste.MesAno <= '2015-03-31')) as funcio- nalidadeComTestes

ON (chamado_funcionalidade.idFuncionalidade = funcionalidadeComTestes.id) WHERE chamado.DataInicial <= '2015-03-31';

1.6.Chamados por mês (histórico)

SELECT count(*), YEAR(DataInicial), MONTH(DataInicial) FROM CSV_DB.CHAMADO

GROUP BY YEAR(DataInicial), MONTH(DataInicial);

1.7.Quais testes não possuem chamados?

SELECT * FROM teste

INNER JOIN teste_funcionalidade

ON teste.Id = teste_funcionalidade.IdTeste INNER JOIN

(SELECT * FROM funcionalidade WHERE id NOT IN

(SELECT DISTINCT idFuncionalidade FROM chamado_funcionalidade WHERE idFuncionalidade <> '')) as funcionalidadeSemChamados

ON (teste_funcionalidade.idFuncionalidade = funcionalidadeSemChamados.id);

1.7.1. Testes que não possuem chamados até setembro de 2014

SELECT * FROM teste

INNER JOIN teste_funcionalidade

ON teste.Id = teste_funcionalidade.IdTeste INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

( SELECT DISTINCT idFuncionalidade FROM chamado_funcionalidade WHERE idFuncionalidade <> ''

UNION

SELECT DISTINCT idFuncionalidade

FROM chamado_funcionalidade INNER JOIN chamado ON chamado_funcionalidade.IdOriginalChamado = cha- mado.id

WHERE idFuncionalidade <> '' AND

chamado.DataInicial > '2014-09-30' )) as funcionalidade- SemChamados

ON (teste_funcionalidade.idFuncionalidade = funcionalidadeSemChamados.id) WHERE teste.MesAno <= '2014-09-30';

1.7.2. Testes que não possuem chamados até outubro de 2014

SELECT * FROM teste

INNER JOIN teste_funcionalidade

ON teste.Id = teste_funcionalidade.IdTeste INNER JOIN

WHERE id NOT IN

( SELECT DISTINCT idFuncionalidade FROM chamado_funcionalidade WHERE idFuncionalidade <> ''

UNION

SELECT DISTINCT idFuncionalidade

FROM chamado_funcionalidade INNER JOIN chamado ON chamado_funcionalidade.IdOriginalChamado = cha- mado.id

WHERE idFuncionalidade <> '' AND

chamado.DataInicial > '2014-10-31' )) as funcionalidade- SemChamados

ON (teste_funcionalidade.idFuncionalidade = funcionalidadeSemChamados.id) WHERE teste.MesAno <= '2014-10-31';

1.7.3. Testes que não possuem chamados até novembro de 2014

SELECT * FROM teste

INNER JOIN teste_funcionalidade

ON teste.Id = teste_funcionalidade.IdTeste INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

( SELECT DISTINCT idFuncionalidade FROM chamado_funcionalidade WHERE idFuncionalidade <> ''

UNION

SELECT DISTINCT idFuncionalidade

FROM chamado_funcionalidade INNER JOIN chamado ON chamado_funcionalidade.IdOriginalChamado = cha- mado.id

WHERE idFuncionalidade <> '' AND

chamado.DataInicial > '2014-11-30' )) as funcionalidade- SemChamados

ON (teste_funcionalidade.idFuncionalidade = funcionalidadeSemChamados.id) WHERE teste.MesAno <= '2014-11-30';

1.7.4. Testes que não possuem chamados até dezembro de 2014

SELECT * FROM teste

INNER JOIN teste_funcionalidade

ON teste.Id = teste_funcionalidade.IdTeste INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

( SELECT DISTINCT idFuncionalidade FROM chamado_funcionalidade WHERE idFuncionalidade <> ''

UNION

SELECT DISTINCT idFuncionalidade

FROM chamado_funcionalidade INNER JOIN chamado ON chamado_funcionalidade.IdOriginalChamado = cha- mado.id

WHERE idFuncionalidade <> '' AND

chamado.DataInicial > '2014-12-31' )) as funcionalidade- SemChamados

ON (teste_funcionalidade.idFuncionalidade = funcionalidadeSemChamados.id) WHERE teste.MesAno <= '2014-12-31';

1.7.5. Testes que não possuem chamados até janeiro de 2015

SELECT * FROM teste

INNER JOIN teste_funcionalidade

ON teste.Id = teste_funcionalidade.IdTeste INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

( SELECT DISTINCT idFuncionalidade FROM chamado_funcionalidade WHERE idFuncionalidade <> ''

UNION

SELECT DISTINCT idFuncionalidade

FROM chamado_funcionalidade INNER JOIN chamado ON chamado_funcionalidade.IdOriginalChamado = cha- mado.id

WHERE idFuncionalidade <> '' AND

chamado.DataInicial > '2015-01-31' )) as funcionalidade- SemChamados

ON (teste_funcionalidade.idFuncionalidade = funcionalidadeSemChamados.id) WHERE teste.MesAno <= '2015-01-31';

1.7.6. Testes que não possuem chamados até fevereiro de 2015

SELECT * FROM teste

INNER JOIN teste_funcionalidade

ON teste.Id = teste_funcionalidade.IdTeste INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

( SELECT DISTINCT idFuncionalidade FROM chamado_funcionalidade WHERE idFuncionalidade <> ''

UNION

SELECT DISTINCT idFuncionalidade

FROM chamado_funcionalidade INNER JOIN chamado ON chamado_funcionalidade.IdOriginalChamado = cha- mado.id

WHERE idFuncionalidade <> '' AND

chamado.DataInicial > '2015-02-28' )) as funcionalidade- SemChamados

ON (teste_funcionalidade.idFuncionalidade = funcionalidadeSemChamados.id) WHERE teste.MesAno <= '2015-02-28';

SELECT * FROM teste

INNER JOIN teste_funcionalidade

ON teste.Id = teste_funcionalidade.IdTeste INNER JOIN

(SELECT id FROM funcionalidade WHERE id NOT IN

( SELECT DISTINCT idFuncionalidade FROM chamado_funcionalidade WHERE idFuncionalidade <> ''

UNION

SELECT DISTINCT idFuncionalidade

FROM chamado_funcionalidade INNER JOIN chamado ON chamado_funcionalidade.IdOriginalChamado = cha- mado.id

WHERE idFuncionalidade <> '' AND

chamado.DataInicial > '2015-03-31' )) as funcionalidade- SemChamados

ON (teste_funcionalidade.idFuncionalidade = funcionalidadeSemChamados.id) WHERE teste.MesAno <= '2015-03-31';

1.8.Quais são os testes que não tem funcionalidade específica?

SELECT * FROM TESTE WHERE id IN

(SELECT DISTINCT idTeste FROM TESTE_FUNCIONALIDADE WHERE idFun- cionalidade = '');

1.9.Testes por mês (histórico)

SELECT COUNT(*), YEAR(MesAno), MONTH(MesAno) FROM TESTE

GROUP BY YEAR(MesAno), MONTH(MesAno);

1.10. Qual a relação entre chamados e testes

SELECT YEAR(t.MesAno), MONTH(t.MesAno), f.id, f.Descricao, count(tf.IdFuncionalidade) 'Quantidade'

FROM TESTE_FUNCIONALIDADE tf INNER JOIN TESTE t ON tf.IdTeste = t.id LEFT JOIN FUNCIONALIDADE f

ON tf.IdFuncionalidade = f.id

GROUP BY YEAR(t.MesAno), MONTH(t.MesAno), f.id, f.Descricao;

SELECT YEAR(c.datainicial), MONTH(c.DataInicial), f.id, f.Descricao, count(f.id) 'Quantidade'

FROM CHAMADO_FUNCIONALIDADE cf INNER JOIN CHAMADO c ON cf.IdOriginalChamado = c.IdOriginal INNER JOIN FUNCIONALIDADE f ON cf.IdFuncionalidade = f.id

Apêndice 2 – Store procedures para comparação

Documentos relacionados