아래의 쿼리에서 productid, productname 및 productstatus 테이블에 productid, productid, currentstock, unitprice, statu.y가있는 제품 테이블에 2 개의 테이블 제품 및 제품 상태가 있습니다. 상관 쿼리를 작성하고 싶습니다. productname, currentstock, locationid.i를 얻으려고했는데 currentstock이없는 모든 제품 이름을 표시합니다. 날짜와 locationid를 기반으로 제품을 가져올 수 없습니다. 이렇게하면 도움이됩니다.상관 서브 쿼리의 문제
상관 부질
SELECT p.ProductID,
p.ProductName,
(SELECT CurrentStock
FROM ProductStatus PS
WHERE PS.ProductID =p.ProductID
AND PS.LocationID = 1
AND PS.Statu = '2014-10-14')
FROM Product P
테이블 구조와 상관 서브 쿼리를 사용하여 데이터
CREATE TABLE #Product
(productid INT,productname VARCHAR(100))
INSERT INTO #Product
VALUES (1,'biscuit'),
(2,'soap'),
(3,'flower')
CREATE TABLE #Productstatus
(
locationid INT,
productid INT,
currentstock INT,
unitprice INT,
statu DATE
)
INSERT INTO #Productstatus
VALUES (1,1,200,10,'2014-10-14'),
(1,2,300,10,'2014-11-16'),
(2,3,200,10,'2014-12-12')
인라인 하위 쿼리를 사용하지 마십시오. – Sebas