테이블 범주 (ID, 제목, 설명, parentID, friendlyUrl, categoryTypeID)가 있습니다. 필드 값 parentID는 null 일 수 있습니다.SQL 쿼리가 제대로 작동하지 않습니다.
만있는 행을 선택하는 방법 @ParentID = null 인 경우 parentID = null입니다.
declare @ID int =null
declare @FriendlyUrl nvarchar(30) = null
declare @ParentID int = null
declare @CategoryTypeID int = 0
select * from Category
where
(@ID is null or ID = @ID)
and (@FriendlyUrl is null or [email protected])
and (@ParentID is null or [email protected])
and (@CategoryTypeID is null or [email protected])
이 쿼리는 parentID = @ ParentID 경우 @ParentID = 지정된 int 값을 (이 맞아)가 모든 행을 선택합니다.
그러나 @ParentID = null 인 경우 모두 개의 행을 선택합니다 (올바르지 않습니다).
내가 필요한 것입니다. – Alexandre
+1 실수로 잘못된 필드에 대한 해결로 내 대답을 제거했습니다 :) – AdaTheDev
글쎄, 정말 그것이 모든 필드에 대해 수행되어야합니다, 그것이 어떻게 작동하도록되어있다. –