두 행을 업데이트해야하며 업데이트를 사용해야합니다. 내가 시도한 것은 모두 실패했다.조인에서 여러 테이블을 사용하여 여러 행 업데이트
조인과 select 문을 사용할 수는 있지만 Update 문에서 작동하지 않습니다.
Select [Order Details].ProductID
From [Order Details] Inner Join Products
On [Order Details].ProductID = Products.ProductID
Inner join Categories
On Products.CategoryID = Categories.CategoryID
Where CategoryName = 'Confections' and Unitsinstock > 50
Group By [Order Details].ProductID
이 문장은 내가 업데이트해야하는 것을 발견했으나 사용했을 때 작동하지 않습니다.
Begin Transaction
Go
Update [Order Details]
Set Discount = (SELECT Max(Discount))
FROM [Order Details]
Right Join Products
On [Order Details].ProductID = Products.ProductID
Inner join Categories
On Products.CategoryID = Categories.CategoryID
Where CategoryName = 'Confections' and Unitsinstock > 50
Group By [Order Details].ProductID
Go
RollBack Transaction
롤백 기능을 사용하고 있습니다. 도움을 주시면 감사하겠습니다.
샘플 코드에서 닫는 괄호 ")"가 누락되었습니다. 오류 메시지도 도움이됩니다. –
Group by는 여기에서 사용하는 것처럼 업데이트 구문에서 의미가 없습니다. –
동일한 정보를 여러 번 반환했기 때문에 select 문에서 group by를 사용했습니다. 중복을 막기 위해 Group By를 사용했습니다. –