비슷한 질문을 보았지만이 문제에 대한 해결책을 찾을 수 없습니다. 질문이 있어야 테이블의 엉망으로 곰? 매우 간단합니다.SQL Server는 동일한 테이블의 여러 쿼리를 단일 결과 집합으로 결합합니다.
다음 표가 있습니다.
LDTime Value
2013-07-24 00:00:00.000 14.85
2013-07-24 00:00:00.000 1.339
2013-07-24 00:15:00.000 95.9
2013-07-24 00:15:00.000 1.285
2013-07-24 00:30:00.000 160
2013-07-24 00:30:00.000 0.952
행 1,3 및 5는 데이터 유형 중 하나입니다. 2, 4 및 6은 다른 유형입니다. I 하나만 필터 변수 (ParameterIdx
)를 변경
SELECT
A.LDTime, A.Value As AValue
FROM
Table7 G
INNER JOIN
Table1 A
INNER JOIN
Table2 B ON A.DataSetIdx = B.DataSetIdx
INNER JOIN
Table3 C ON B.RetrievalIdx = C.RetrievalIdx ON G.ActionIdx = C.ActionIdx
INNER JOIN
Table4 D ON G.SpatialRefIdx = D.SpatialRefIdx
INNER JOIN
Table5 E
INNER JOIN
Table6 F ON E.StationIdx = F.StationIDx ON D.SpatialRefIdx = E.SpatialRefIdx
WHERE
F.StationIDx = 1
AND A.ParameterIdx = 18
AND A.LDTime BETWEEN '2013-7-24' AND '2013-7-25'
ORDER
BY A.LDTime
SELECT
A.LDTime, A.Value As BValue
FROM
Table7 G
INNER JOIN
Table1 A
INNER JOIN
Table2 B ON A.DataSetIdx = B.DataSetIdx
INNER JOIN
Table3 C ON B.RetrievalIdx = C.RetrievalIdx ON G.ActionIdx = C.ActionIdx
INNER JOIN
Table4 D ON G.SpatialRefIdx = D.SpatialRefIdx
INNER JOIN
Table5 E
INNER JOIN
Table6 F ON E.StationIdx = F.StationIDx ON D.SpatialRefIdx = E.SpatialRefIdx
WHERE
F.StationIDx = 1
AND A.ParameterIdx = 19
AND A.LDTime BETWEEN '2013-7-24' AND '2013-7-25'
ORDER BY
A.LDTime
참고 두 쿼리 사이 값 열에 저장된 데이터의 유형을 구별한다 : I은 필터 기준에 기초하여 상기 타입을 검색 할 수있는 다음과 같은 질문이 .
쿼리를 결합하여 하나의 결과 집합을 생성하려면 어떻게합니까? (또는 저장 프로 시저를 사용하므로 여러 쿼리에서이 작업을 수행 할 수 있습니다.)
LDTime AValue BValue
2013-07-24 00:00:00.000 14.85 1.339
2013-07-24 00:15:00.000 95.9 1.285
2013-07-24 00:30:00.000 160 0.952
감사합니다. 나는 오늘 밤 늦게 이것을 시험해 보겠다. 흠, 15 초마다 하나의 댓글 만 허용되었습니다. – MTAdmin
Goat CO와 Gordon Linoff가 질문에 대답했습니다. 염소의 시간은 2 분 더 빨라서 나는 그에게 대답을 줄 것이다. 그러나 둘 모두 동일한 결과를 제공합니다. – MTAdmin