itemID 당 판매되는 품목 수의 합계를 얻는 하위 쿼리가 있습니다. 그 하위 쿼리의 결과를 얻고 아이템 가격으로 곱하고 싶습니다. 그러나 하위 쿼리에 사용한 열 별칭을 참조하려고하면 Slq Server에서 사용하려고하는 열이 잘못되었음을 알리는 오류가 발생합니다. 여기에 내 SQL ...하위 쿼리에서 반환 된 데이터는 어떻게 사용할 수 있습니까?
SELECT TOP (100) PERCENT Shop_1.ShopName, CustomerOrdersDtl_1.ItemID, ItemList_1.ItemName, SUM(CustomerOrdersDtl_1.Amount) AS tAmount
FROM dbo.CustomerOrders AS CustomerOrders_1 INNER JOIN
dbo.CustomerOrdersDtl AS CustomerOrdersDtl_1 ON CustomerOrders_1.ID = CustomerOrdersDtl_1.CustomerOrdersID INNER JOIN
dbo.ItemList AS ItemList_1 ON CustomerOrdersDtl_1.ItemID = ItemList_1.ID INNER JOIN
dbo.Shop AS Shop_1 ON CustomerOrders_1.ShopID = Shop_1.ID
GROUP BY Shop_1.ShopName, CustomerOrdersDtl_1.ItemID, ItemList_1.ItemName, ItemList_1.Price
ORDER BY Shop_1.ShopName
사용하려고하는 열은 tAmount입니다. TotalCost 다음에 Price * tAmount라는 다른 열이 있습니다. TotalItemCost로 (Itemlist_1.Price * tAmount)를 넣으면 tAmount가 잘못된 열임을 알리는 오류가 발생합니다.
하위 쿼리에서 반환 한 데이터를 참조 할 수 있습니까? 아니면 다른 방법이 있습니까?
모든 도움을 주셔서 대단히 감사드립니다. :)
'ORDER BY' 항목은 그 상황에서 유효하지 않은'Shop_1'을 참조합니다. 'sqry.ShopName' (구체적으로 원할 경우) 또는 단순히'ShopName'이어야합니다 (하위 쿼리가 유일하게 선택된 테이블이기 때문에). –
맞습니다. 나는 대답을 수정했다. –
감사합니다. 귀하의 제안은 내가 원하는 방식대로 작동했습니다. 재미있는 이유는 내가 그걸 생각하지 않았어. 대부분의 경우 간단한 대답이 가장 좋습니다. 다시 한 번 감사드립니다! :) –