Fórum SELECT com dois COUNT dando erro #512922
06/03/2015
0
Tenho que fazer uma consulta estre duas datas, sendo que em coluna_data_1 são todos os eventos que ocorreram na semana e em coluna_data_2 são os eventos que tiveram algum tipo de tratamento, este campo recebe a data que o evento foi tratado. Os eventos devem ser tratados na mesma semana que ocorreram, a idéia e trazer a porcentagem de eventos tratados.
Ps. O tratamento das informações será realizado via PHP; Ex. ( VARIAVEL2 / VARIAVEL1 )
Estou tentando o comando abaixo, porém o Select está apresentando erro. Já tentei utilizando CASE mas não funcionou também. Estou utulizando o Access 2010.
SELECT (SELECT COUNT(coluna_data_1) FROM Tabela_data WHERE coluna_data_1 BETWEEN #17/02/2015# AND #23/02/2015#) AS VARIAVEL1, (SELECT COUNT(coluna_data_2) FROM Tabela_data WHERE coluna_data_2 BETWEEN #17/02/2015# AND #23/02/2015# AND coluna_data_1 BETWEEN #17/02/2015# AND #23/02/2015#) AS VARIAVEL2
Valeu!
Juliano
Curtir tópico
+ 0Posts
07/03/2015
Marisiana Battistella
Talvez essa solução seja o que você precisa:
select count(td.coluna_data_1) as variavel_1,
count(td.coluna_data_2) as variavel_2
from tabela_data td
where td.coluna_data_1 between '17/02/2015' and '23/02/2015'
and td.coluna_data_2 between '17/02/2015' and '23/02/2015'
Não cheguei a testar, então pode ser que tenha algum erro...
Qualquer coisa me informe q posso rever o código..
Gostei + 0
08/03/2015
Lucas Ramos
Segue minha sugestão
select count(d1.coluna_data_1) as variavel_1,
count(d2.coluna_data_2) as variavel_2
from tabela_data d1,
tabela_data d2
where d1.coluna_data_1 between '17/02/2015' and '23/02/2015'
and d2.coluna_data_2 between '17/02/2015' and '23/02/2015'
Gostei + 0
08/03/2015
Lucas Ramos
Lembrando que essa sintaxe é para o SQL Server não sei se vai funcionar no Access então sugiro utilizar o modo que passei antes.
declare @Data1 date
declare @Data2 date
set @Data1 = (SELECT COUNT(coluna_data_1) FROM Tabela_data WHERE coluna_data_1 BETWEEN #17/02/2015# AND #23/02/2015#)
set Data2 = (SELECT COUNT(coluna_data_2) FROM Tabela_data WHERE coluna_data_2 BETWEEN #17/02/2015# AND #23/02/2015# AND coluna_data_1 BETWEEN #17/02/2015# AND #23/02/2015#)
select @Data1 as variavel_1,
@Data2 as variavel_2Gostei + 0
09/03/2015
Marisiana Battistella
A melhor solução será aquela que vai retornar os dados que atendem a regra em questão.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)