Array
(
)

Count e diferença entre counts

Pjava
   - 19 mar 2013

Preciso fazer um select que me traga um count de uma tabela, outro count de outra tabela e a diferença de count da primeira tabela com a segunda.
Como eu faço isso?

Joel Rodrigues
   - 19 mar 2013

Seria isso?

#Código

SELECT
 (SELECT COUNT(*) FROM TABELA1) AS COUNT1,
 (SELECT COUNT(*) FROM TABELA2) AS COUNT2,
 ((SELECT COUNT(*) FROM TABELA1) - (SELECT COUNT(*) FROM TABELA2)) AS DIFERENCA,

Joel Rodrigues
   - 19 mar 2013

No caso, sobrou uma vírgula alí no fim. O correto é:
#Código

SELECT
(SELECT COUNT(*) FROM TABELA1) AS COUNT1,
(SELECT COUNT(*) FROM TABELA2) AS COUNT2,
((SELECT COUNT(*) FROM TABELA1) - (SELECT COUNT(*) FROM TABELA2)) AS DIFERENCA

Mariana Carvalho
   - 20 mar 2013

preciso estudar T-SQL, essa parte do COUNT é bem interessante.

Joel Rodrigues
   - 20 mar 2013

Oi, Mariana. O COUNT serve para contar os registros em uma consulta, com base em um filtro.
Porém, não é exatamente T-SQL, pois é uma função própria da linguagem SQL e suportada pela maioria (se não por todos) dos SGBDs.

Mariana Carvalho
   - 20 mar 2013

engraçado, li isso em livro de T-SQL se não me falha a memoria.

Joel Rodrigues
   - 20 mar 2013

Pois é, como você estava estudando T-SQL, ela é uma extensão da SQL desenvolvida pela Microsoft. Ou seja, usa a SQL padrão e adiciona mais funcionalidades.

Joel Rodrigues
   - 20 mar 2013

Mas e aí, PJava, conseguiu resolver?

Alex Lekao
   - 21 mar 2013

Eu acho que o Count tem em todas os SGDBs, pelo menos os que eu já usei, Firebird, SQL e Oracle(bem pouquinho.... quase nada... rsrsr)

E eh interessante que cada linguagem adota uma particularidade agregada aos comandos próprios do SQL em si, e isso eh muito legal e da hora, pelo menos eu gosto.

E também podemos fazer muitas coisas com estes counts da vida, como inseri-lo em subselect usando no where um link com o select principal para encontrar um valor isolado de algo muito especifico.

Isso já me ajudou muito com comandos que precisava usar para montar relatórios para o ERP aqui da empresa.

Eh muuuuito legal...

Abraco.

Alex - Lekao