두 테이블에서 데이터를 가져 오려고하지만 기준과 일치하는 모든 레코드를 가져 오지 않는 것 같습니다. 나는 이유는, 따라서,SQL 쿼리가 모든 것을 가져 오지 않습니다
SELECT Parts."Part Number",Parts."Description",Parts."Location",Parts."Qty In Stock",Parts."LastCost",Parts."Cost Price",Parts."Retail Price",Transact."Type"
FROM Transact
INNER JOIN Parts
ON Transact."PartNumber"=Parts."Part Number"
WHERE Transact.Type = 'Non-stock Purch'
내가 부품 데이터베이스에서 해당 부분의 설명을 반대 '재고 없음 PURCH'를 가지고 모든 레코드를 당기고 당겨하려고 해요 :
이
내 쿼리입니다 '설명', '비용', '마지막 비용'등을 포함했다내가 실행하는 경우는, 필요한 모든 정보를 가져 오지 않을거야 의미 쿼리에 뭔가 잘못하고 있습니까 :
select * from transact x
where x.Type = 'Non-stock Purch'
order by x.PartNumber
이것은 268 개의 레코드를 반환합니다. 이전 쿼리 은이 같은 번호를 반환하지만 실제로는 111을 반환합니다. 다른 테이블 내에 존재한다는 것을 알고 있습니다.
또한이 쿼리를 잘못 작성하고 있거나 서식이 올바르지 않은 경우 알려주십시오.
감사합니다.
'LEFT JOIN'을 시도하고 268 개의 레코드가 다시 생성되는지 확인하십시오. 그렇다면 실제로 다른 테이블의 모든 거래에 대해 일치하는 레코드가 없습니다. – mellamokb
데이터가 Parts 테이블에도 있음을 이미 확인했는데 INNER JOIN 대신 LEFT JOIN을 사용했다면 어떻게 될까요? 예상되는 행 수를 반환합니까? – Tuan