SSMS에는 일반적으로 피할 수있는 쿼리 디자이너가 있습니다. 왜냐하면 솔직히 말해서 SSMS에는 실제로 작업 할 수 없기 때문입니다.SSMS의 쿼리 디자이너 및 조인 시퀀스 순서?
불행히도, 제 동료들이합니다. 30 분 남았으므로 마침내 내가 문제인지 SSMS인지를 알고 싶습니다.
예 : 테이블 건물, 테이블 층, 테이블 실 및 매핑 테이블 usage_types (room-usage_types)가 있다고 가정 해 보겠습니다. 내가 수동으로 쿼리를 디자인 할 때
, 내가 이렇게 :
select all buildings,
left join all floors in those buildings
left join all rooms in those floors
left join the room-usage_types mapping table.
을 지금, 나는 쿼리 디자이너에서 동일한 작업을 수행 할 때, 어떻게 든 매핑 테이블로 시작, 다음, 왼쪽 왼쪽 객실을 조인 바닥에 합류하고 건물을 떠났다.
기본적으로 결함이있는 것은 매핑 테이블에 항목이없는 경우 모든 회의실을 반환하지 않기 때문입니다 (모든 회의실이 바닥에 있어야하고 모든 층이 반드시 건물에 있어야한다고 가정하기 때문에, 나는 내가 지금이 쿼리
SELECT
FROM usage_type mapping
RIGHT OUTER JOIN Floors
LEFT OUTER JOIN Rooms
RIGHT OUTER JOIN Floors
을 얻을 조인 수정하기 시작하는 경우가 아닌 모든 객실은 지금 ... necessarely
을) 일정 시간 동안] itselfs과 관련된 사용-유형이 이 쿼리는 동등한 것처럼 보일 지 모르지만 이것은 예제이며 대개 더 많은 테이블에 가입해야합니다. 따라서 특히 오른쪽 및 왼쪽 조인이 섞여있는 것을 좋아하지 않습니다. 결국 이해하기 어렵 기 때문에 (특히 여러 ON 문이 조인 된 부분에서 수행되지 않을 때) 버그를 거의 찾을 수 없게됩니다 (그리고 나는 내가 원하는 것을 알아내는 쿼리 디자이너의 능력에 대해 많은 신뢰를 갖지 못한다.)
나는 지금까지 내가 원하는 것처럼 '디자인'하는 방법을 찾지 못했습니다. 유일한 방법은 초기 쿼리를 만든 다음 SQL 텍스트를 가져온 다음 조인을 조정 한 다음 SQL 쿼리 디자이너로 다시 여는 것입니다.
결국이 작업은 처음부터 수동으로 수행하는 것보다 오래 걸리고 쿼리 디자이너가 SQL 스크립트를 수정 한 경우 처음에는 직접 다시 포맷하지 않아도 더 이상 읽을 수 없습니다. ..
내 변형이 쿼리 디자이너와 함께 성취하는 것이 완전히 불가능한 것처럼 보입니다. 쿼리 디자이너에서 조인 기호의 상황에 맞는 메뉴에서 가끔씩 테이블 왼쪽은 위쪽에, 때로는 오른쪽에있는 테이블입니다.
위의 그림 중 낮은 그림을 선택해야 할 경우 올바른 조인을 수행합니다. 나는 위의 것을 선택할 수있다. 그리고 나서 왼쪽 결합을하지만, 잘못된 순서로 ... 정확히 내가 원하지 않는 것은 ...
그래서 나는 묻고 싶다. : 거기에 어떤 '비밀 '어떤 테이블에서 쿼리를 시작해야하는지, 어떤 경우에는 제대로 조인하지 않을지를 지정하는 방법?
내 제안 : QUERY DESIGNER를 사용하지 마십시오. 유감 스럽지만 유감 스럽지만 쓰레기통이며 왜 제품에서 잘라내는지 거부됩니다. 당신은 손으로 쓰는 것보다 오래 걸리는 것이 옳습니다. 또한 제출 된 모든 버그를 살펴보십시오. http://www.google.com/search?q=query+designer+site%3Aconnect.microsoft.com&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en -USA : 공식 및 클라이언트 = firefox-a # sclient = psy & hl = ko & client = firefox-a & hs = mJJ & rls = org.mozilla : ko-US % 3 공식 및 소스 = hp & q = query + 디자이너 + SSMS + 사이트 : connect.microsoft.com & pbx = 1 & oq = query + 디자이너 + SSMS + 사이트 : connect.microsoft.com –