2009-11-23 2 views
0

저장 프로 시저에서 뷰를 조인하여 레코드를 반환하려고합니다. 내가 TireHeightTireWidth을 플롯 할 필요가두 개의 병합 된 열 중 하나가 반환되지 않은 경우 행을 제외하십시오.

Measurement | MeasurementType | Date Performed 

: 하나 개의 테이블에서

나는 이런 식으로 뭔가가있다.

그래서이 테이블을 한 행으로 병합합니다.

해당 날짜에 TireHeightTireWidth이 모두 측정 된 경우에만 행을 반환하고 싶습니다. TireWidthTireHeight을 합치는 것 이외의 다른 작업을 수행 한 날짜는 사용하지 않습니다. 내 차트 포인트에 대해이 두 숫자의 계산을 실행하고 다른 축에 TireAge을 사용합니다.

TireHeight 또는 TireWidth을 사용할 수없는 경우 어떻게 결과 행을 제외시킬 수 있습니까?

감사합니다.

+0

기존 쿼리는 어떻게 보이나요? – Saar

답변

3

INNER JOIN을 사용하면 두 테이블에 행이있을 때만 행을 반환 할 수 있습니다. 예 :

SELECT th.DatePerformed 
,  th.Measurement as TireHeight 
,  tw.Measurement as TireWidth 
FROM (
    SELECT DatePerformed, Measurement 
    FROM Measurements 
    WHERE MeasurementType = 'TireHeight' 
) th 
INNER JOIN (
    SELECT DatePerformed, Measurement 
    FROM Measurements 
    WHERE MeasurementType = 'TireWidth' 
) tw 
ON tw.DatePerformed = th.DatePerformed 
관련 문제