2016-11-01 3 views
0

SQL과 관련된 한 가지 질문을하고 싶습니다.SQL 계산 주식 문제

나는 차와 그 차가있는 테이블을 가지고 있으며 그 주식을 찾고 싶다. 내가

내가 자동차에서 다음 쿼리

고유 한 카운트 (*)를 선택 시도 얼마나 많은 값 자동차 VID에서와 현재 판매 VID 믿을 것을해야 할 일, 판매 어디 Cars.VID! = Sales.VID ;

그리고 내 결과는 3 대신 원하는 결과입니다. 누구든지 어떤 제안이 있습니까? 나는 당신의 요구 사항을 읽으면

답변

0

올바르게, 당신은하지이 (즉, 아직 판매되지 않은)에 Sales 테이블에 표시 을 수행하는 Cars 테이블에서 모든 별개의 VID을 가져올.

SELECT COUNT(DISTINCT VID) 
FROM Cars 
WHERE VID NOT IN (SELECT DISTINCT VID FROM Sales) 
+0

감사합니다. –

+0

올바른 표시 할 수 있습니까? –

0

안된하지만, 부속없이이 경우를 위해 나는 WHERE VID NOT IN ...를 사용합니다. 더 큰 자동차와 판매 목록 및 두 테이블의 VID에 대한 색인으로 더 빨라질 수 있습니다.

SELECT COUNT s.VID이

내 질문은 것 NULL IS WHERE LEFT이 s.VID = c.VID ON 판매의 가입 C 자동차에서 (c.VID) : 왜 별도 판매 테이블을 , 모든 차가 유일하다면. Cars 테이블에 판매 열을 추가하면됩니까?