Ir para conteúdo

Arquivado

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

Marcos.Ferreira

[Resolvido] Select Diario

Recommended Posts

@Motta, se traduzir, o resultado ia ser o mesmo do postado pelo @supernoi.

 

Esta faltando algum pametro que o @marcos esta esquecendo.... falta algo na estrutura... é o que parece....

eu entendi que a consulta dentro da outra, as que calculam o café almoço e janta, não entende que a consulta de fora, passou para outro dia, não sei como inserir esse parametro informado pra que a contagem considere apenas a data do loop da consulta pai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem certeza que isso não responde faz o que voce quer?

 

select CONVERT(varchar, EventDateTime, 103) as 'Data', CompanyName,

count(case when CONVERT(char(2), EventDateTime, 8) between 5 and 8 then CompanyName end) as Cafe,

count(case when CONVERT(char(2), EventDateTime, 8) between 10 and 14 then CompanyName end) as Almoco,

count(case when CONVERT(char(2), EventDateTime, 8) between 18 and 23 then CompanyName end) as Jantar

from DB_Evnt..Events

JOIN DB..CMain ON DB..CMain.CHID = Events.CHID

LEFT JOIN DB..CCompanies ON DB..CCompanies.CompanyID = DB..CMain.CompanyID

where

CONVERT(char(2), EventDateTime, 8) between 05 and 08

or CONVERT(char(2), EventDateTime, 8) between 10 and 14

or CONVERT(char(2), EventDateTime, 8) between 18 and 23

group by CONVERT(varchar, EventDateTime, 103), CompanyName

order by CONVERT(varchar, EventDateTime, 103), CompanyName

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem certeza que isso não responde faz o que voce quer?

 

select CONVERT(varchar, EventDateTime, 103) as 'Data', CompanyName,

count(case when CONVERT(char(2), EventDateTime, 8) between 5 and 8 then CompanyName end) as Cafe,

count(case when CONVERT(char(2), EventDateTime, 8) between 10 and 14 then CompanyName end) as Almoco,

count(case when CONVERT(char(2), EventDateTime, 8) between 18 and 23 then CompanyName end) as Jantar

from DB_Evnt..Events

JOIN DB..CMain ON DB..CMain.CHID = Events.CHID

LEFT JOIN DB..CCompanies ON DB..CCompanies.CompanyID = DB..CMain.CompanyID

where

CONVERT(char(2), EventDateTime, 8) between 05 and 08

or CONVERT(char(2), EventDateTime, 8) between 10 and 14

or CONVERT(char(2), EventDateTime, 8) between 18 and 23

group by CONVERT(varchar, EventDateTime, 103), CompanyName

order by CONVERT(varchar, EventDateTime, 103), CompanyName

 

ficou pratico, porem o resultado não é o esperado, não respeita as condições que coloquei, veja a consulta como ficou e o resultado.

USE W_Access_Events
SELECT CONVERT(varchar, Events.EventDateTime, 103) as 'Data', CompanyName,
count(case when CONVERT(char(2), EventDateTime, 8) between 5 and 8 then CompanyName end) as Cafe,
count(case when CONVERT(char(2), EventDateTime, 8) between 10 and 14 then CompanyName end) as Almoco,
count(case when CONVERT(char(2), EventDateTime, 8) between 18 and 23 then CompanyName end) as Jantar
from Events
LEFT JOIN W_Access..CHMain ON W_Access..CHMain.CHID = Events.CHID
LEFT JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID
where CHCompanies.CompanyID = 69
AND CONVERT(char(2), EventDateTime, 8) between 05 and 08
or CONVERT(char(2), EventDateTime, 8) between 10 and 14
or CONVERT(char(2), EventDateTime, 8) between 18 and 23
AND EventDateTime BETWEEN '01-01-2011 00:00:00' AND '15-01-2011 23:59:59'
group by CONVERT(varchar, EventDateTime, 103), CompanyName
order by CONVERT(varchar, EventDateTime, 103), CompanyName 

 

resultado

Data	        CompanyName	                        Cafe	Almoco	Jantar
01/01/2011	A & C COMERCIAL E DISTRIBUIDORA LTDA	0	4	0
01/01/2011	ALCANTARA E CARVALHO CONSTRUÇÕES LTDA	0	124	0
01/01/2011	AMAZON FORT TRANSPORTES SERV. COM	0	10	0
01/01/2011	AVELAR REMOÇÃO E TRANSP IND LTDA.	0	4	0
01/01/2011	B. SPLENDOR LANCHONETE E CONVENIÊNCIAS	0	2	0
01/01/2011	C. C. CAMARGO CORREA S.A.	        5	2683	2899        <----- Está é a empresa da condição 69
01/01/2011	CARLOS ALBERTO FIUZA	                0	1	0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcos,

Não entendi a observação "Está é a empresa da condição 69".

Voce quer apenas a CompanyID=69?

 

vai existir a condição de uma empresa ou varias, nesse caso usei a de ID 69 apenas, e veja o resultado, trouxe todos os outros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na Events tem a companyID?

 

tenta...

 

USE W_Access_Events

SELECT CONVERT(varchar, Events.EventDateTime, 103) as 'Data', CompanyName,

count(case when CONVERT(char(2), EventDateTime, 8) between 5 and 8 then CompanyName end) as Cafe,

count(case when CONVERT(char(2), EventDateTime, 8) between 10 and 14 then CompanyName end) as Almoco,

count(case when CONVERT(char(2), EventDateTime, 8) between 18 and 23 then CompanyName end) as Jantar

from Events

LEFT JOIN W_Access..CHMain ON W_Access..CHMain.CHID = Events.CHID

LEFT JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID

where Events.CompanyID = 69

AND (CONVERT(char(2), EventDateTime, 8) between 05 and 08

or CONVERT(char(2), EventDateTime, 8) between 10 and 14

or CONVERT(char(2), EventDateTime, 8) between 18 and 23)

AND EventDateTime BETWEEN '01-01-2011 00:00:00' AND '15-01-2011 23:59:59'

group by CONVERT(varchar, EventDateTime, 103), CompanyName

order by CONVERT(varchar, EventDateTime, 103), CompanyName

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na Events tem a companyID?

 

tenta...

 

USE W_Access_Events

SELECT CONVERT(varchar, Events.EventDateTime, 103) as 'Data', CompanyName,

count(case when CONVERT(char(2), EventDateTime, 8) between 5 and 8 then CompanyName end) as Cafe,

count(case when CONVERT(char(2), EventDateTime, 8) between 10 and 14 then CompanyName end) as Almoco,

count(case when CONVERT(char(2), EventDateTime, 8) between 18 and 23 then CompanyName end) as Jantar

from Events

LEFT JOIN W_Access..CHMain ON W_Access..CHMain.CHID = Events.CHID

LEFT JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID

where Events.CompanyID = 69

AND (CONVERT(char(2), EventDateTime, 8) between 05 and 08

or CONVERT(char(2), EventDateTime, 8) between 10 and 14

or CONVERT(char(2), EventDateTime, 8) between 18 and 23)

AND EventDateTime BETWEEN '01-01-2011 00:00:00' AND '15-01-2011 23:59:59'

group by CONVERT(varchar, EventDateTime, 103), CompanyName

order by CONVERT(varchar, EventDateTime, 103), CompanyName

 

Na tabela Events não possui a coluna CompanyID, e não posso mexer nas estruturas da tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então tenta...

 

USE W_Access_Events

SELECT CONVERT(varchar, Events.EventDateTime, 103) as 'Data', CompanyName,

count(case when CONVERT(char(2), EventDateTime, 8) between 5 and 8 then CompanyName end) as Cafe,

count(case when CONVERT(char(2), EventDateTime, 8) between 10 and 14 then CompanyName end) as Almoco,

count(case when CONVERT(char(2), EventDateTime, 8) between 18 and 23 then CompanyName end) as Jantar

from Events

LEFT JOIN W_Access..CHMain ON W_Access..CHMain.CHID = Events.CHID

LEFT JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID

where CHCompanies.CompanyID = 69

AND (CONVERT(char(2), EventDateTime, 8) between 05 and 08

or CONVERT(char(2), EventDateTime, 8) between 10 and 14

or CONVERT(char(2), EventDateTime, 8) between 18 and 23)

AND EventDateTime BETWEEN '01-01-2011 00:00:00' AND '15-01-2011 23:59:59'

group by CONVERT(varchar, EventDateTime, 103), CompanyName

order by CONVERT(varchar, EventDateTime, 103), CompanyName

Compartilhar este post


Link para o post
Compartilhar em outros sites

O resultado do post #23 indica um possível produto cartesiano indevido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se as chaves de ligação entre as tabelas não são todas informadas se gera um produto cartesiano onde as ligações entre as tabelas são indevidas.

 

Reveja se os joins entre as tabelas informam todas as chaves.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

Faz uma coisa ae... posta o SP_Help ou SP_Texthelp das tres tabelas ae...

 

Porque no escuro ta dificil ajudar.. rs

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi o que eu falei no post #20... falta algo nestas tabelas.

 

bom dia, então... a tabela events no post #10, a estrutura é aquela, a tabela não possui referencia ou chave estrangeira, unica coluna que posso usar como referencia é a CHID, onde consigo buscar a relação com a empresa (chcompany) e usuario (chmain). O que estou tentando fazer é, agrupar por data todos os registros(chid) que pertencem a mesma empresa. com uma data especifica consigo fazer, mas se usar um intervalo de datas (between) já sai errado. A consulta é essa do post #10, só preciso organizar a contagem corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No #23 há uma condição de só pegar a empresa "69", mas no resultado aparecem outras empresas, deve haver mais algum relacionamento (mesmo que não explícito) que feche isto, ou seja só traga os registros da empresa "69".

Compartilhar este post


Link para o post
Compartilhar em outros sites

No #23 há uma condição de só pegar a empresa "69", mas no resultado aparecem outras empresas, deve haver mais algum relacionamento (mesmo que não explícito) que feche isto, ou seja só traga os registros da empresa "69".

 

Motta, fiz o seguinte:

LEFT JOIN W_Access..CHCompanies ON CHCompanies.CompanyName LIKE 'C. C. CAMARGO CORREA S.A.'

 

o resultado me trouxe só a empresa especificada, porém a contagem de café almoço e janta não bate.

 

fiz a seguinte gambiarra... digo... ajuste técnico ^_^

DECLARE @Inicio datetime, @data_dia datetime,
@Fim datetime,
@Empresa varchar(255);

SET @Empresa = 'C. C. CAMARGO CORREA S.A.'
SET @Inicio = '01-04-2011 00:00:00'--@lblBD_StartTime
SET @Fim = '15-04-2011 23:59:59'--@lblBD_EndTime


USE W_Access_Events
SELECT CONVERT(DATE, DATEADD(MI, -240, Events.EventDateTime)) AS DATA, COUNT(CONVERT(DATE, DATEADD(MI, -240, Events.EventDateTime))) as Total,
(SELECT Count(EventDateTime) FROM W_Access_Events..Events 
JOIN W_Access..CHMain ON CHMain.CHID = Events.CHID
JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID
WHERE W_Access_Events..Events.EventHWID = 73
AND CHCompanies.CompanyName LIKE @Empresa
   AND SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, Events.EventDateTime), 120),9,2) = '02'
   --AND Events.SourceName LIKE @lblBD_Reader
AND DATEADD(mi, -240, EventDateTime) BETWEEN DATEADD(mi, -240, @Inicio) AND DATEADD(mi, -240, @Fim)
AND (SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '04'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '05'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '06'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '07'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '08')) 
AS Cafe,
(SELECT Count(EventDateTime) FROM W_Access_Events..Events 
--WHERE W_Access_Events..Events.CHID = CHMain.CHID 
JOIN W_Access..CHMain ON CHMain.CHID = Events.CHID
JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID
WHERE W_Access_Events..Events.EventHWID = 73
AND CHCompanies.CompanyName LIKE @Empresa
AND SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, Events.EventDateTime), 120),9,2) = '02'
--AND Events.SourceName LIKE @lblBD_Reader
AND DATEADD(mi, -240, EventDateTime) BETWEEN DATEADD(mi, -240, @Inicio) AND DATEADD(mi, -240, @Fim)
AND (SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '09'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '10'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '11'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '12'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '13'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '14')) 
AS Almoco,
(SELECT Count(EventDateTime) FROM W_Access_Events..Events 
--WHERE W_Access_Events..Events.CHID = CHMain.CHID 
JOIN W_Access..CHMain ON CHMain.CHID = Events.CHID
JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID
WHERE W_Access_Events..Events.EventHWID = 73
AND CHCompanies.CompanyName LIKE @Empresa
AND SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, Events.EventDateTime), 120),9,2) = '02'
--AND Events.SourceName LIKE @lblBD_Reader
AND DATEADD(mi, -240, EventDateTime) BETWEEN DATEADD(mi, -240, @Inicio) AND DATEADD(mi, -240, @Fim)
AND (SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '17'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '18'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '19'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '20'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '21'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '22'
OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '23')) 
AS Jantar
FROM Events
JOIN W_Access..CHMain ON CHMain.CHID = Events.CHID
WHERE DATEADD(MI, -240, Events.EventDateTime) BETWEEN DATEADD(mi, -240, @Inicio) AND DATEADD(mi, -240, @Fim)
AND CHMain.CompanyID = 69 
AND W_Access_Events..Events.EventHWID = 73
GROUP BY CONVERT(DATE, DATEADD(MI, -240, Events.EventDateTime))--, CHMain.CHID
ORDER BY DATA ASC

 

que me traz o seguinte resultado, se reparar existe a coluna total, que está correto, porem, apenas no dia 02 que o valor digamos que bate, pois especifiquei o dia na consulta "AND SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, Events.EventDateTime), 120),9,2) = '02'"

DATA      	Total	Cafe	Almoco	Jantar
2011-03-31	311	729	952	638
2011-04-01	4500	729	952	638
2011-04-02	2320	729	952	638 <--- aqui está certo
2011-04-03	1474	729	952	638
2011-04-04	5491	729	952	638
2011-04-05	5488	729	952	638
2011-04-06	5627	729	952	638
2011-04-07	5942	729	952	638
2011-04-08	5504	729	952	638
2011-04-09	1861	729	952	638
2011-04-10	1781	729	952	638
2011-04-11	9023	729	952	638
2011-04-12	10979	729	952	638
2011-04-13	11057	729	952	638
2011-04-14	11394	729	952	638
2011-04-15	9216	729	952	638

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria o seguinte :

 

Cada SELECT separado mas sem agrupar, na base do SELECT * mesmo, isto deve dar ideia do que está vindo errado.

 

Com base nestes dados verificar qual o join deva estar faltando (o meu palpite para o erro).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria o seguinte :

 

Cada SELECT separado mas sem agrupar, na base do SELECT * mesmo, isto deve dar ideia do que está vindo errado.

 

Com base nestes dados verificar qual o join deva estar faltando (o meu palpite para o erro).

 

 

Motta, pelo que testei aqui não é os join, pelo que imagino, salvo me engano, a consulta deveria ocorrer assim:

 

@Empresa = 'C. C. CAMARGO CORREA S.A.'

SELECT EventDateTime,
(SELECT COUNT(Events.EventDateTime) FROM Events
WHERE Events.EventDateTime = Ev1.EventDateTime
AND CH1.CompanyName LIKE @Empresa) as Cafe
FROM Events Ev1
JOIN CHCompanies CH1 ON CH1.CompanyName LIKE @Empresa
WHERE Ev1.EventDateTime BETWEEN '01-04-2011 00:00:00' AND '15-04-2011 23:59:59'

 

Onde o cout da sub consulta pega os registros da data na Ev1. Posso estar falando besteira, pois não domino a ferramenta, se eu tivesse como fazer isso em alguma linguagem , asp.net ou outra por exemplo, conseguiria o resultado, mas preciso que saia direto da consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Digo , fazer (numa ferramenta gerenciadora)

 

SELECT *

FROM W_Access_Events..Events 
       JOIN W_Access..CHMain ON CHMain.CHID = Events.CHID
       JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID
       WHERE W_Access_Events..Events.EventHWID = 73
       AND CHCompanies.CompanyName LIKE @Empresa
   AND SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, Events.EventDateTime), 120),9,2) = '02'
   --AND Events.SourceName LIKE @lblBD_Reader
       AND DATEADD(mi, -240, EventDateTime) BETWEEN DATEADD(mi, -240, @Inicio) AND DATEADD(mi, -240, @Fim)
       AND (SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '04'
       OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '05'
       OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '06'
       OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '07'
       OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '08')

 

e ver o que retorna , ajustando os parametros.

 

fazer isto também para as demais queries até achar o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Digo , fazer (numa ferramenta gerenciadora)

 

SELECT *

FROM W_Access_Events..Events 
       JOIN W_Access..CHMain ON CHMain.CHID = Events.CHID
       JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID
       WHERE W_Access_Events..Events.EventHWID = 73
       AND CHCompanies.CompanyName LIKE @Empresa
   AND SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, Events.EventDateTime), 120),9,2) = '02'
   --AND Events.SourceName LIKE @lblBD_Reader
       AND DATEADD(mi, -240, EventDateTime) BETWEEN DATEADD(mi, -240, @Inicio) AND DATEADD(mi, -240, @Fim)
       AND (SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '04'
       OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '05'
       OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '06'
       OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '07'
       OR SUBSTRING(CONVERT(varchar(50), DATEADD(mi, -240, EventDateTime), 120),12,2) = '08')

 

e ver o que retorna , ajustando os parametros.

 

fazer isto também para as demais queries até achar o problema.

 

Bom dia... depois de muito quebrar a cabeça... desmontei a cabeça... digo.. desmenbrei... Motta, de fato precisei separar as informações, lembra que nas consultas eram trazidas todas as datas ignorando o between. Então primeiro fiz uma consulta que me traz o registros da empresa em especifico e o periodo, e armazeno em uma tebela temporária. No post #15 a solução foi otima, porém trazia a data do dia, e não a hora como deveria, corrigi e funcionou. Bem resumindo, segue abaixo a solução. Meu obrigado a todos que me ajudaram. Foi um bom aprendizado eu confesso.

USE W_Access_Events
SELECT Events.CHID, EventDateTime AS EventDateTime , W_Access..CHCompanies.CompanyName, W_Access..CHMain.IdNumber, Events.ClearCode
INTO #TEMP FROM Events
JOIN W_Access..CHMain ON CHMain.CHID = Events.CHID
JOIN W_Access..CHCompanies ON CHCompanies.CompanyID = CHMain.CompanyID
WHERE DATEADD(MI, -240, EventDateTime) BETWEEN '01-01-2011 00:00:00' AND '14-01-2011 23:59:59'
AND Events.CHID IS NOT NULL AND Events.EventHWID = 73
AND CHCompanies.CompanyName LIKE 'C. C. CAMARGO CORREA S.A.'

SELECT CONVERT(DATE, DATEADD(MI, -240, EventDateTime)) as 'Data', #TEMP.CompanyName,
count(case when CONVERT(char(2), CONVERT(TIME, DATEADD(MI, -240, EventDateTime)), 8) between 05 and 08 then #TEMP.CompanyName end) as Cafe,
count(case when CONVERT(char(2), CONVERT(TIME, DATEADD(MI, -240, EventDateTime)), 8) between 10 and 14 then #TEMP.CompanyName end) as Almoco,
count(case when CONVERT(char(2), CONVERT(TIME, DATEADD(MI, -240, EventDateTime)), 8) between 18 and 23 then #TEMP.CompanyName end) as Jantar
FROM #TEMP
LEFT JOIN W_Access..CHCompanies ON CHCompanies.CompanyName LIKE 'C. C. CAMARGO CORREA S.A.'
WHERE CONVERT(char(2), CONVERT(TIME, DATEADD(MI, -240, EventDateTime)), 8) between 05 and 08
OR CONVERT(char(2), CONVERT(TIME, DATEADD(MI, -240, EventDateTime)), 8) between 10 and 14
OR CONVERT(char(2), CONVERT(TIME, DATEADD(MI, -240, EventDateTime)), 8) between 18 and 23
GROUP BY CONVERT(DATE, DATEADD(MI, -240, EventDateTime)), #TEMP.CompanyName
ORDER BY CONVERT(DATE, DATEADD(MI, -240, EventDateTime)), #TEMP.CompanyName ASC

DROP TABLE #TEMP

 

[RESOLVIDO]

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.