--Quais os jogadores de um determinado grupo?
SELECT G.NOME_GRUPO, j.NOME_JOGADOR
FROM GRUPO AS G INNER JOIN JOGADOR AS J
ON G.COD_GRUPO = J.COD_GRUPO
ORDER BY G.COD_GRUPO
--Quais grupos não possuem quaisquer jogadores cadastrados?
SELECT G.NOME_GRUPO
FROM GRUPO AS G
WHERE G.COD_GRUPO NOT IN (SELECT COD_GRUPO FROM JOGADOR)
--Quantas rodadas teve até o presente momento?
SELECT COUNT (DISTINCT J.NUM_RODADA)
FROM JOGO AS J
Quais peças foram sorteadas até o presente momento?
SELECT PECA_DIREITA
FROM JOGO
WHERE PECA_DIREITA IS NOT NULL
UNION
SELECT PECA_ESQUERDA
FROM JOGO
--Quais peças NÃO FORAM sorteadas até o presente momento?
SELECT COD_PECA
FROM DOMINO
WHERE COD_PECA NOT IN (
SELECT PECA_DIREITA
FROM JOGO
WHERE PECA_DIREITA IS NOT NULL
UNION
SELECT PECA_ESQUERDA
FROM JOGO)
--Qual a quantidade de vezes que cada peça saiu
SELECT PECA, COUNT (*) AS QUANTIDADE
FROM
(SELECT PECA_DIREITA AS PECA
FROM JOGO
WHERE PECA_DIREITA IS NOT NULL
UNION ALL
SELECT PECA_ESQUERDA
FROM JOGO) AS TABELA
GROUP BY PECA
ORDER BY QUANTIDADE DESC
--Quais peças foram colocadas em uma determinada rodada
--de um grupo específico ?
SELECT NUM_RODADA, COD_GRUPO, PECA
FROM
(SELECT NUM_RODADA, COD_GRUPO, PECA_DIREITA AS PECA
FROM JOGO
WHERE PECA_DIREITA IS NOT NULL
UNION ALL
SELECT NUM_RODADA,COD_GRUPO, PECA_ESQUERDA
FROM JOGO) AS TABELA
ORDER BY NUM_RODADA, COD_GRUPO
--Quais peças mais sairam por grupo?
SELECT COD_GRUPO, PECA, COUNT (PECA) AS QUANTIDADE
FROM
(SELECT COD_GRUPO, PECA_DIREITA AS PECA
FROM JOGO
WHERE PECA_DIREITA IS NOT NULL
UNION ALL
SELECT COD_GRUPO, PECA_ESQUERDA
FROM JOGO) AS TABELA
GROUP BY COD_GRUPO, PECA
ORDER BY COD_GRUPO, QUANTIDADE DESC
--Quantas vezes uma determinada peça saiu nas rodadas?
SELECT NUM_RODADA, PECA, COUNT (*) AS QUANTIDADE
FROM
(SELECT NUM_RODADA, PECA_DIREITA AS PECA
FROM JOGO
WHERE PECA_DIREITA IS NOT NULL
UNION ALL
SELECT NUM_RODADA, PECA_ESQUERDA
FROM JOGO) AS TABELA
GROUP BY NUM_RODADA, PECA
ORDER BY NUM_RODADA, QUANTIDADE DESC
--Quantas vezes uma determinada peça
--saiu nas rodadas para um grupo específico?
JA FOI FEITO
--Qual peça mais saiu e qual menos saiu nas partidas?
JA FOI FEITO
--Que número de face saiu mais vezes?
SELECT FACE, COUNT (*) AS QUANTIDADE
FROM
(SELECT FACE_DIREITA AS FACE
FROM DOMINO AS D INNER JOIN
(SELECT PECA_DIREITA AS PECA
FROM JOGO
WHERE PECA_DIREITA IS NOT NULL
UNION ALL
SELECT PECA_ESQUERDA
FROM JOGO) AS T
ON D.COD_PECA = T.PECA
UNION ALL
SELECT FACE_ESQUERDA
FROM DOMINO AS D INNER JOIN
(SELECT PECA_DIREITA AS PECA
FROM JOGO
WHERE PECA_DIREITA IS NOT NULL
UNION ALL
SELECT PECA_ESQUERDA
FROM JOGO) AS T
ON D.COD_PECA = T.PECA) AS TABELA
GROUP BY FACE
ORDER BY QUANTIDADE DESC
Que número de face saiu mais vezes, por grupo
Qual o total de casadinhas por grupo?
Qual o total de casadinhas por rodada e grupo ?
--Quem venceu o jogo ?
SELECT G.NOME_GRUPO
FROM GRUPO AS G INNER JOIN
(
SELECT COD_GRUPO, COUNT (*) QTDE_CASADINHA
FROM JOGO AS J
WHERE J.PECA_DIREITA IS NOT NULL
GROUP BY COD_GRUPO
HAVING COUNT (*) IN (
SELECT MAX (QTDE_CASADINHA)
FROM
(SELECT COD_GRUPO, COUNT (*) QTDE_CASADINHA
FROM JOGO AS J
WHERE J.PECA_DIREITA IS NOT NULL
GROUP BY COD_GRUPO) AS TABELA)) AS T
ON G.COD_GRUPO = T.COD_GRUPO
--Quem foi o lanterninha?
SELECT G.NOME_GRUPO
FROM GRUPO AS G INNER JOIN
(
SELECT COD_GRUPO, COUNT (*) QTDE_CASADINHA
FROM JOGO AS J
WHERE J.PECA_DIREITA IS NOT NULL
GROUP BY COD_GRUPO
HAVING COUNT (*) IN (
SELECT MIN (QTDE_CASADINHA)
FROM
(SELECT COD_GRUPO, COUNT (*) QTDE_CASADINHA
FROM JOGO AS J
WHERE J.PECA_DIREITA IS NOT NULL
GROUP BY COD_GRUPO) AS TABELA)) AS T
ON G.COD_GRUPO = T.COD_GRUPO