SELECT com dois COUNT dando erro
Pessoal,
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.
Valeu!
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
Curtidas 0
Respostas
Marisiana Battistella
06/03/2015
Olá Juliano!
Talvez essa solução seja o que você precisa:
Não cheguei a testar, então pode ser que tenha algum erro...
Qualquer coisa me informe q posso rever o código..
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
Lucas Ramos
06/03/2015
A forma que a Marisiana passou não está incorreto, porém dependendo de como é alimentado os campos pode ocorrer de não retornar nenhum valor.
Segue minha sugestão
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
Lucas Ramos
06/03/2015
Outra opção que pode ser usada, mas acredito que seja XTremeGoHorse kkkkk
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.
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
Marisiana Battistella
06/03/2015
Bem citado Lucas!
A melhor solução será aquela que vai retornar os dados que atendem a regra em questão.
A melhor solução será aquela que vai retornar os dados que atendem a regra em questão.
GOSTEI 0