2012-11-02 2 views
1

select 문이있어서 테이블 내의 다른 값을 기반으로 3 차 볼륨을 계산하려고합니다. 그러나 pr.Length_mm 또는 pr.Width_mm 또는 pr.Height_mm 어느 것도 이전에 NULL인지 확인하고 싶습니다. CASE 문을 살펴 보았지만 한 번에 하나의 열만 평가하는 것으로 보입니다.select 쿼리에 여러 조건이 있습니다.

SELECT 
     sa.OrderName, 
     sa.OrderType, 
     pr.Volume_UOM 
,pr.Length_mm*pr.Width_mm*pr.Height_mm AS Volume_Cubic 
,pr.Length_mm*pr.Width_mm AS Volume_Floor 
,pr.Length_mm 
,pr.Height_mm 
,pr.Width_mm 
FROM CostToServe_MCB.staging.Sale sa 
LEFT JOIN staging.Product pr 
ON sa.ID = pr.ID 
+1

왜 여기에 합류 왼쪽입니까? 'LEFT JOIN'과 오른손 테이블에서'IS NOT NULL'을 사용하는 것은 다소 무의미한 것처럼 보입니다. 내부가 아닌 왼쪽 조인을 사용하여 보존 된 모든 행은 모든 'pr'열에 'NULL'을 갖습니다. –

+0

@MartinSmith 나는 네가 옳다고 생각 하나, 조인에 조건을 넣을 수는 없었습니까? 업데이트 된 답변을 확인하십시오. –

+0

전체 쿼리의 하위 집합입니다. 내가 가져와야 할 다른 칼럼이 있습니다. 올바른 칼럼의 일부가 아닐 수도 있습니다. – stats101

답변

2
SELECT pr.Volume_UOM 
,pr.Length_mm*pr.Width_mm*pr.Height_mm AS Volume_Cubic 
,pr.Length_mm*pr.Width_mm AS Volume_Floor 
,pr.Length_mm 
,pr.Height_mm 
,pr.Width_mm 
FROM CostToServe_MCB.staging.Sale sa 
LEFT JOIN staging.Product pr 
ON sa.ID = pr.ID 
and pr.Length_mm is not null 
and pr.Width_mm is not null 
and pr.Height_mm is not null 
2
SELECT pr.Volume_UOM 
,pr.Length_mm*pr.Width_mm*pr.Height_mm AS Volume_Cubic 
,pr.Length_mm*pr.Width_mm AS Volume_Floor 
,pr.Length_mm 
,pr.Height_mm 
,pr.Width_mm 
FROM CostToServe_MCB.staging.Sale sa 
    LEFT JOIN staging.Product pr ON sa.ID = pr.ID 
where pr.Length_mm is not null and pr.Width_mm is not null and pr.Height_mm is not null 
+0

죄송합니다. 내가 작성한 쿼리는 내가 작업하고있는 쿼리를 완전히 대표하지 않았습니다. 여기에는 다른 많은 열이 포함되어 있습니다. 위의 대답은 결과를 3 가지 값으로 제한합니다. – stats101

0
where pr.Length_mm is not null 
    and pr.Width_mm is not null 
    and pr.Height_mm is not NULL 
관련 문제