SQL BD [Resolvido]
|
01-04-2010, 11:52
(Esta mensagem foi modificada pela última vez a: 05-04-2010 14:51 por progster.)
Mensagem: #1
|
|||
|
|||
SQL BD [Resolvido]
Boas.
Surgiu-me outra situação relativamente á mesma BD, que não estou a conseguir resolver, é o seguinte: Tenho uma lista de campos do tipo SIM/NÃO, que preciso cujo output seja númerico, a questão é como é que coloco estes critérios no seguinte código?, ou seja, precioso de saber quantas pessoas retornam com o seguinte output, mais os campos do tipo SIM/NÃO SELECT COUNT([Registo de Clientes].Nome) AS [*Número de pessoas*] FROM [Registo de Clientes] WHERE ((([Registo de Clientes].Idade) Like "*" & [Introduza a idade] & "*") AND (([Registo de Clientes].[Habilitações Literarias]) Like "*" & [Introduza as HL] & "*") AND (([Registo de Clientes].Sexo) Like "*" & [Introduza o Sexo] & "*")); Desde já agradeço qualquer ajuda. Cumprimentos. Progster |
|||
01-04-2010, 15:13
Mensagem: #2
|
|||
|
|||
RE: SQL BD
Aí tens de fazer o GROUP BY.
SELECT COUNT([Registo de Clientes].Nome) AS [*Número de pessoas*], [Registo de Clientes].CAMPO_SIMNAO FROM [Registo de Clientes] WHERE ((([Registo de Clientes].Idade) Like "*" & [Introduza a idade] & "*") AND (([Registo de Clientes].[Habilitações Literarias]) Like "*" & [Introduza as HL] & "*") AND (([Registo de Clientes].Sexo) Like "*" & [Introduza o Sexo] & "*")); GROUP BY [Registo de Clientes].CAMPO_SIMNAO Assim agrupas o teu resultado pelo campo SIMNAO, indicando o total de registos encontrados para cada uma. Penso que seja isto ... certo? |
|||
05-04-2010, 09:02
(Esta mensagem foi modificada pela última vez a: 05-04-2010 09:30 por progster.)
Mensagem: #3
|
|||
|
|||
RE: SQL BD
Bom dia.
Antes de mais peço desculpa por só agora estar a responder. Meteu-se a Pascoa pelo meio e aproveitei para repor energias. Vou experimentar e já digo alguma coisa. Houve progressos, ou seja, com este código: SELECT Count([Registo de Clientes].Nome) AS [*Número de pessoas*], [Registo de Clientes].[1º Emprego], [Registo de Clientes].[Novo Emprego], [Registo de Clientes].Outros FROM [Registo de Clientes] WHERE ((([Registo de Clientes].Idade) Like "*" & [Introduza a idade] & "*") AND (([Registo de Clientes].[Habilitações Literarias]) Like "*" & [Introduza as HL] & "*") AND (([Registo de Clientes].Sexo) Like "*" & [Introduza o Sexo] & "*")) GROUP BY [Registo de Clientes].[1º Emprego], [Registo de Clientes].[Novo Emprego], [Registo de Clientes].Outros; o output foi o número de pessoas que correspondem ás condições que estou a pedir (Idade, Habilitações literárias, Sexo), mas relativamente aos campos do tipo sim/não não me aparecem quantos estão a sim. SELECT Count([Registo de Clientes].Nome) AS [*Número de pessoas*], Count([Registo de Clientes].[1º Emprego]) AS [ContarDe1º Emprego], Count([Registo de Clientes].[Novo Emprego]) AS [ContarDeNovo Emprego], Count([Registo de Clientes].Outros) AS ContarDeOutros FROM [Registo de Clientes] WHERE ((([Registo de Clientes].Idade) Like "*" & [Introduza a idade] & "*") AND (([Registo de Clientes].[Habilitações Literarias]) Like "*" & [Introduza as HL] & "*") AND (([Registo de Clientes].Sexo) Like "*" & [Introduza o Sexo] & "*")); Com este código, o output que me retorna são dois registos. Mas para cada um destes registos também me aparece para os campos do tipo sim/não 2,2,2, e oi que derevia retornar era 1,2,1 Não sei se me expliquei bem, qualquer coisa digam que eu volta a explicar. Progster |
|||
05-04-2010, 11:04
(Esta mensagem foi modificada pela última vez a: 05-04-2010 12:37 por progster.)
Mensagem: #4
|
|||
|
|||
RE: SQL BD
SELECT Count([Registo de Clientes].Nome) AS [*Número de pessoas*], Sum([Registo de Clientes].[1º Emprego]) AS [SomaDe1º Emprego], Sum([Registo de Clientes].[Novo Emprego]) AS [SomaDeNovo Emprego], Sum([Registo de Clientes].Outros) AS SomaDeOutros, Sum([Registo de Clientes].RSI) AS SomaDeRSI, Sum([Registo de Clientes].[Subsidio de Desemprego]) AS [SomaDeSubsidio de Desemprego], Sum([Registo de Clientes].[Carta de Condução]) AS [SomaDeCarta de Condução]
FROM [Registo de Clientes] WHERE ((([Registo de Clientes].Idade) Like "*" & [Introduza a idade] & "*") AND (([Registo de Clientes].[Habilitações Literarias]) Like "*" & [Introduza as HL] & "*") AND (([Registo de Clientes].Sexo) Like "*" & [Introduza o Sexo] & "*")); Com este código já me aparece aquilo que quero, ou seja, para os campos do tipo sim/não já me aparecem numericamente quais são os que têm o sinal de visto (campos do tipo sim), mas agora aparecem-me valores negativos. Alguém me pode dizer como é que passo esses valores para positivos? Agradeço qualquer ajuda que me possam dar. Cumprimentos. A Plataforma que estou a utilizar é o Access 2003. Progster |
|||
05-04-2010, 14:50
Mensagem: #5
|
|||
|
|||
RE: SQL BD
Já consegui resolver a situação.
Cumprimentos. Progster |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 2 Visitante(s)