CONTAR REGISTROS

WANDSONSOUSA 02/09/2014 08:47:49
#440849
Bom dia, pessoal.

Gente, tenho um tabela (TB_SOCIO), e um campo (SINDICALIZADO) neste campo tem duas respotas (SIM/NÃ0), gostaria de contar os registros nesta tabela, com a distição do mesmo, não campo sim/não, tem como me ajudar pessoal. agradeço desde de já
SINCLAIR 02/09/2014 09:50:42
#440850
Olá, WANDSONSOUZA

Os comandos SQL seriam (para SIM e NÃO, respectivamente)

select count(SINDICALIZADO) from TB_SOCIO where SINDICALIZADO=[ô]SIM[ô]
select count(SINDICALIZADO) from TB_SOCIO where SINDICALIZADO=[ô]NAO[ô]

Tudo de bom
WANDSONSOUSA 02/09/2014 10:01:37
#440852
ok, mais outro problema. tem que ter 2 criterios no caso o campo sim/não, que você muito bem me passou e o campo IDEMPRESA, para contar os funcionários apenas de cada empresa.
FILMAN 02/09/2014 10:37:44
#440855
Tente assim

SELECT 
CASE SINDICALIZADO = [ô]SIM[ô] THEN SUM(QTD_SIM) END AS QTD_SIM,
CASE SINDICALIZADO = [ô]NAO[ô] THEN SUM(QTD_NAO) END AS QTD_NAO
FROM (
SELECT
DISTINCT NOME,
SINDICALIZADO,
CASE WHEN SINDICALIZADO = [ô]SIM[ô] THEN 1 ELSE 0 END AS QTD_SIM,
CASE WHEN SINDICALIZADO = [ô]NAO[ô] THEN 1 ELSE 0 END AS QTD_NAO
FROM TB_SOCIO
)


A SubQuery esta sendo utiliza para que não haja duplicidade de sócios então faço um distinct
Favor alterar os campos conforme a tabela!

espero ter ajudado
WANDSONSOUSA 02/09/2014 10:44:44
#440856
Rapaz, to fazendo assim, mais fica tudo em vermelho, como tivesse errado.

Dim conta As New ADODB.Recordset

conta.Open [Ô]SELECT[Ô]
CASE SINDICALIZADO = [ô]SIM[ô] THEN SUM(QTD_SIM) END AS QTD_SIM,
CASE SINDICALIZADO = [ô]NAO[ô] THEN SUM(QTD_NAO) END AS QTD_NAO
FROM (
SELECT
DISTINCT NOME,
SINDICALIZADO,
CASE WHEN SINDICALIZADO = [ô]SIM[ô] THEN 1 ELSE 0 END AS QTD_SIM,
CASE WHEN SINDICALIZADO = [ô]NAO[ô] THEN 1 ELSE 0 END AS QTD_NAO
From TB_SOCIO
)[Ô], con, adOpenDynamic, adLockPessimistic
FILMAN 02/09/2014 11:54:38
#440857
Qual o banco de dados?

Dim conta As New ADODB.Recordset
Dim querySQL As String

querySQL = [Ô][Ô]
querySQL = querySQL & [Ô]SELECT [Ô]
querySQL = querySQL & [Ô] CASE SINDICALIZADO = [ô]SIM[ô] THEN SUM(QTD_SIM) END AS QTD_SIM,[Ô]
querySQL = querySQL & [Ô] CASE SINDICALIZADO = [ô]NAO[ô] THEN SUM(QTD_NAO) END AS QTD_NAO[Ô]
querySQL = querySQL & [Ô] FROM ([Ô]
querySQL = querySQL & [Ô] SELECT[Ô]
querySQL = querySQL & [Ô] DISTINCT NOME,[Ô]
querySQL = querySQL & [Ô] SINDICALIZADO,[Ô]
querySQL = querySQL & [Ô] CASE WHEN SINDICALIZADO = [ô]SIM[ô] THEN 1 ELSE 0 END AS QTD_SIM,[Ô]
querySQL = querySQL & [Ô] CASE WHEN SINDICALIZADO = [ô]NAO[ô] THEN 1 ELSE 0 END AS QTD_NAO[Ô]
querySQL = querySQL & [Ô] FROM TB_SOCIO[Ô]
querySQL = querySQL & [Ô] )[Ô]

conta.Open querySQL, con, adOpenDynamic, adLockPessimistic
WANDSONSOUSA 02/09/2014 12:17:02
#440858
banco de dados acess. ta dando esse erro, segue img em anexo.
FILMAN 02/09/2014 18:23:43
#440882
Mude a query para uma das duas abaixo e veja qual funciona! Creio que seja a primeria

querySQL = [Ô][Ô]
querySQL = querySQL & [Ô]SELECT [Ô]
querySQL = querySQL & [Ô] SUM(QTD_SIM) AS QTD_SIM,[Ô]
querySQL = querySQL & [Ô] SUM(QTD_NAO) AS QTD_NAO[Ô]
querySQL = querySQL & [Ô] FROM ([Ô]
querySQL = querySQL & [Ô] SELECT[Ô]
querySQL = querySQL & [Ô] DISTINCT NOME,[Ô]
querySQL = querySQL & [Ô] SINDICALIZADO,[Ô]
querySQL = querySQL & [Ô] IIF((SINDICALIZADO = [Ô][Ô]SIM[Ô][Ô]), 1, 0) AS QTD_SIM,[Ô]
querySQL = querySQL & [Ô] IIF((SINDICALIZADO = [Ô][Ô]NAO[Ô][Ô]), 1, 0) AS QTD_NAO[Ô]
querySQL = querySQL & [Ô] FROM TB_SOCIO[Ô]
querySQL = querySQL & [Ô] )[Ô]



Ou assim


querySQL = [Ô][Ô]
querySQL = querySQL & [Ô]SELECT [Ô]
querySQL = querySQL & [Ô] SUM(QTD_SIM) AS QTD_SIM,[Ô]
querySQL = querySQL & [Ô] SUM(QTD_NAO) AS QTD_NAO[Ô]
querySQL = querySQL & [Ô] FROM ([Ô]
querySQL = querySQL & [Ô] SELECT[Ô]
querySQL = querySQL & [Ô] DISTINCT NOME,[Ô]
querySQL = querySQL & [Ô] SINDICALIZADO,[Ô]
querySQL = querySQL & [Ô] SWITCH((SINDICALIZADO = [Ô][Ô]SIM[Ô][Ô]), 1, (SINDICALIZADO = [Ô][Ô]NAO[Ô][Ô]), 0) AS QTD_SIM,[Ô]
querySQL = querySQL & [Ô] SWITCH((SINDICALIZADO = [Ô][Ô]NAO[Ô][Ô]), 1, (SINDICALIZADO = [Ô][Ô]SIM[Ô][Ô]), 0) AS QTD_NAO[Ô]
querySQL = querySQL & [Ô] FROM TB_SOCIO[Ô]
querySQL = querySQL & [Ô] )[Ô]
MESTRE 04/09/2014 11:01:15
#440932
Wandson desculpe a pergunta mais qual o componente utiliza no form pra ficar com o visual assim no Vb??

é o ActiveSkin??

abraços
Faça seu login para responder