SQL Server 2008 데이터베이스에서 수천 개의 테이블에 포함 된 일부 데이터를 분석하기 위해 스크립트 작업을하고 있습니다.SQL을 기반으로 여러 테이블에서 선택
간단히하기 위해 테이블은 4-8 세미 그룹의 그룹으로 나눌 수 있습니다. 준 관련성이란 동일한 항목에 대한 데이터 콜렉션이지만 실제 SQL 관계가 없음을 의미합니다. 각 테이블은 날짜 - 시간 스탬프 (datetime2
데이터 형식), 값 (특정 항목에 따라 bit
, int
또는 float
이 될 수 있음) 및 현재 관심이없는 다른 일부 열로 구성됩니다. 날짜 - 시간 스탬프는 몇 초 내에 15 분마다 (1 시간에) 설정됩니다. 그러나, 동시에 정확하게 기록 된 모든 데이터 ...
:
TABLE1 :
TIMESTAMP VALUE
2014-11-27 07:15:00.390 1
2014-11-27 07:30:00.390 0
2014-11-27 07:45:00.373 0
2014-11-27 08:00:00.327 0
TABLE2 :
TIMESTAMP VALUE
2014-11-19 08:00:07.880 0
2014-11-19 08:15:06.867 0.0979999974370003
2014-11-19 08:30:08.593 0.0979999974370003
2014-11-19 08:45:07.397 0.0979999974370003
TABLE3
TIMESTAMP VALUE
2014-11-27 07:15:00.390 0
2014-11-27 07:30:00.390 0
2014-11-27 07:45:00.373 1
2014-11-27 08:00:00.327 1
보시다시피, 모든 테이블이 동일한 분기 별 TIMESTAMP
으로 시작하는 것은 아닙니다. 기본적으로, 나는 3 테이블 중 가장 오래된 TIMESTAMP
으로 시작하는 매 15 분 간격으로 3 개의 테이블 각각에 대해 VALUE를 반환하는 쿼리입니다. 주어진 예를 들어, 나는 2014-11-27 07:15에 시작하고 싶을 것이다. (초를 신경 쓰지 마라. 따라서 타임 스탬프가 + 1 분 정도가 될 수 있도록해야한다.) 특정 TIMESTAMP에 대한 레코드가 없을 때 값에 NULL을 리턴하면 ok입니다. 따라서 위에 나열된 예제에 대한 쿼리는 다음과 같이 반환됩니다.
TIMESTAMP VALUE1 VALUE2 VALUE3
2014-11-27 07:15 1 NULL 0
2014-11-27 07:30 0 NULL 0
2014-11-27 07:45 0 NULL 1
2014-11-27 08:00 0 NULL 1
...
2014-11-19 08:00 0 0 1
2014-11-19 08:15 0 0.0979999974370003 0
2014-11-19 08:30 0 0.0979999974370003 0
2014-11-19 08:45 0 0.0979999974370003 0
이 정보가 도움이되기를 바랍니다. 어떤 도움/포인터/지침을 주시면 감사하겠습니다.
타임 스탬프는 다른 값을 가질 - 그들은 간단한 = – Hogan
@Hogan 연결되지 않습니다 -이 http://sqlfiddle.com/#!3/c19840/2 여기 –
코드가 실패 HTTP를 확인 : //sqlfiddle.com/#! 3/d2fb40/1 – Hogan