저는 이것을 간단하게 유지할 것입니다. 다른 열에 null이 없을 때 열에있는 모든 값을 선택하는 좋은 방법이 있는지 알고 싶습니다. 예를 들어. 위의 설정에서 SQL (TSQL) - 다른 열이 null이 아닌 열에서 값을 선택 하시겠습니까?
A B
----- -----
1 7
2 7
NULL 7
4 9
1 9
2 9
난 그냥 B에서 9 싶을와 A.에서 NULL을 가지고 있지 7 7 때문에 분명히 내가 서브 쿼리로이 싸서 IN 절 등을 사용할 수 있지만, 이것은 이미의 일부입니다 꽤 독창적 인 세트이며 효율적으로 유지하려고합니다.
나는 단지 A를 B의 값을 반환하고 검토 할 것이라고 ... 내 목적이 단지 단방향 비교를 할 것이라는 점을주의해야한다 나는이 작업을 수행 할 수있는 쉬운 방법이 상상
그 나는 실종되었다. 그러나 나는 지금 그것을 보지 못하는 것들의 두꺼운 곳에있다. 마지막으로, 당신은 윈도우 기능을 사용할 수
select b
from t
group by b
having sum(case when a is null then 1 else 0 end) = 0;
을 그리고 : 당신은 별개의 B 값을 원하는 경우에
select *
from t
where t.b not in (select b from t where a is null);
은, 당신은 할 수 있습니다 :
두 번째 예는 제 목적에 실제로 적합합니다! 나는 이것 모두가 관계형 분할을 피하는 부분이라는 것을 알아야한다. –