Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CarolineJF

Select Count em duas colunas

Recommended Posts

Olá,

 

Preciso fazer a contagem de registros de duas colunas diferentes. Segue abaixo o comando atual:

 

 

 

ComandoSQL = "SELECT COUNT(Subcategoria) AS total FROM Produtos WHERE Subcategoria = " & Subcategorias("id")

 

É possível contar os registros das coluna Subcategoria e Subcategoria2 na mesma linha de comando? E posteriormente somar os valores... tipo..

 

ComandoSQL = "SELECT COUNT(Subcategoria) AS total,  COUNT(Subcategoria2) AS total2 FROM Produtos WHERE Subcategoria = " & Campo("id")
 Tot= total + total2

 

Segue abaixo o código completo

 

<%
   
	'contagem de produtos dentro da subcategoria
	ComandoSQL = " SELECT Distinct id, subcategoria FROM Categorias "
	ComandoSQL = ComandoSQL & " WHERE id_categoria = " & Categorias("id")
	ComandoSQL = ComandoSQL & " AND Trim(subcategoria) <> '' "
	Set Subcategorias = Conexao.Execute(ComandoSQL)

		   
	ComandoSQL = "SELECT COUNT(Subcategoria) AS total FROM Produtos WHERE Subcategoria = " & Subcategorias("id")

	 Set Verifica = Conexao.Execute(ComandoSQL)
		  If Verifica("total") > 0 Then
	  %>

	  <td nowrap>Total de Produtos : <%=Verifica("total")%> 

	  <%
	  Else
	  %>
			  Total de Produtos = 0
	  <%
	  End IF
	  Set Verifica = Nothing
	  %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa

 

Ve se assim funciona ok

 

select count(campo1) as total from tabela

union

select count(campo2) as total from tabela

 

senao tenta assim

 

SELECT

( select count(campo1) from tabela ) as total1,

( select count(campo2) from tabela ) as total2

 

 

Também pode estar tentando assim

 

SELECT (select count(campo1) from tabela) + (select count(campo2) from tabela) as total

 

abraços

 

Qualquer coisa estamos aí

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa

 

Ve se assim funciona ok

 

select count(campo1) as total from tabela

union

select count(campo2) as total from tabela

 

senao tenta assim

 

SELECT

( select count(campo1) from tabela ) as total1,

( select count(campo2) from tabela ) as total2

 

 

Também pode estar tentando assim

 

SELECT (select count(campo1) from tabela) + (select count(campo2) from tabela) as total

 

abraços

 

Qualquer coisa estamos aí

 

 

Olá,

 

Tentei de todas as formas mas retornou erro... :( Acho que deve funcionar no Query Analyzer, mas no ASP não.... você tem idéia do que pode ser?

 

 

Na 1ª apareceu:

 

Microsoft JET Database Engine error '80004005'

Query input must contain at least one table or query.

 

/suprioeste/admin/admin_sessoes.asp, line 153

 

 

 

Na 2ª:

 

Microsoft JET Database Engine error '80004005'

Query input must contain at least one table or query.

 

/suprioeste/admin/admin_sessoes.asp, line 153

 

 

 

Na 3ª:

 

 

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression '(select count (subcategoria) from produtos) + (select count (subcategoria2) as total from produtos) where subcategoria =214'.

 

/suprioeste/admin/admin_sessoes.asp, line 153

 

 

Abs, obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim

 

select count (subcategoria) as total from produtos where subcategoria =214'

union

select count (subcategoria2) as total from produtos where subcategoria =214'

 

senao tenta assim

 

SELECT

( select count (subcategoria) as total from produtos where subcategoria =214' ) as total1,

( select count (subcategoria2) as total from produtos where subcategoria =214' ) as total2

 

 

Também pode estar tentando assim

 

SELECT (select count (subcategoria2) from produtos where subcategoria =214') + (select count (subcategoria2) from produtos where subcategoria =214') as total

 

Veja aí se funciona é que estou aqui sem o sql para testar :)

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim

 

select count (subcategoria) as total from produtos where subcategoria =214'

union

select count (subcategoria2) as total from produtos where subcategoria =214'

 

senao tenta assim

 

SELECT

( select count (subcategoria) as total from produtos where subcategoria =214' ) as total1,

( select count (subcategoria2) as total from produtos where subcategoria =214' ) as total2

 

 

Também pode estar tentando assim

 

SELECT (select count (subcategoria2) from produtos where subcategoria =214') + (select count (subcategoria2) from produtos where subcategoria =214') as total

 

Veja aí se funciona é que estou aqui sem o sql para testar :)

 

abraços

 

 

 

Oi Fabiano,

 

Não posso colocar o valor de 214 porque ele é capturado automaticamente, através do comando abaixo :

 

<%=Categorias("id")%>

 

<td nowrap >Total de Produtos: <%=Verifica("total")%> produtos <a href="<%=Request.ServerVariables("SCRIPT_NAME")%>?categoria=<%=Categorias("id")%>">

<%=Verifica("total")%> produtos <a href="<%=Request.ServerVariables("SCRIPT_NAME")%>?categoria=<%=Categorias("id")%>">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa

 

 

entao está certo é só você colocar lá na clausula where o campo

 

eu só coloquei os selects para voce saber como funciona se ele realmente atende o seu requisito

 

agora basta você trocar o where subcategoria =214' por WHERE Subcategoria = " & Categorias("id") no seu asp

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode tentar

 

SELECT DISTINCT (SELECT COUNT(subcategoria) FROM produtos WHERE subcategoria = " & Categorias("id") & "  AS total1,
		 (SELECT COUNT(subcategoria2) FROM produtos WHERE subcategoria = " & Categorias("id") & " ) AS total2
FROM produtos

Compartilhar este post


Link para o post
Compartilhar em outros sites

CarolineJF, testou o exemplo que você mesmo postou? A princípio deve funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.