저장 프로 시저의 매개 변수로 비트 값을 사용하여 레코드를 포함/제외하는 경향이 있습니다. 내가 SO 게시물이의 기술을 알고있는 데이터 형식 bit
의 열을 쿼리를 필터링하려면 지금 쉽다 : Cumulative include records in stored procedure output based on a number of bit parameters비트 매개 변수를 사용하여 저장 프로 시저 내에서 둘 이상의 조건에 대한 레코드를 필터링하는 방법은 무엇입니까?
내가 복합 더와 값 필터링 할 비트 매개 변수를 사용 할 때 어떤 경우는, 그러나있다 하나의 조건보다.
는 저장 프로 시저에 전달되는 bit
매개 변수가 : 여기
myproc 0
위의 호출은 파란색으로 강조 표시된 레코드를 제외한 일부 레코드를 반환합니다.
는 일주일에 한 번에 나는 그 기록 WHERE ((Delta = 0) AND (PriceCurrent = PriceMin))
을 축적/
myproc 1
가 포함 호출해야합니다. 위의 예제에서 데이터 세트에는 파란색으로 강조 표시된 레코드가 모두 포함되어야합니다.
AND ((Delta = 0 AND PriceCurrent = PriceMinMin)
OR (@incl_min_price = 1 AND
NOT (Delta = 0 AND PriceCurrent = PriceMin)))
코드가 나를 위해 작동하지 않는 몇 가지 이유를 들어
. 내가 도대체 뭘 잘못하고있는 겁니까?
UPDATE는 :
이 무엇이든 내 논리을 무시하십시오. 난 그냥 비트 값의 단일 매개 변수를 전달하는 레코드를 필터링 싶어요. 즉, myproc 0
는 myproc 1
반면
SELECT * FROM MyTable
WHERE --several conditions separated by AND/OR
는 여러 가지 변종에서
AND ((Delta = 0) AND (PriceCurrent = PriceMin))
당신은 쿼리를 게시 고려할 수 있습니다 'AND' 전에; 제공된 정보로 논리를 추측하기가 어렵습니다. – techspider
@techspider 논리가 질문과 관련이 없습니다. 내가 알고 싶은 것은 복잡 한 요청'WHERE (Delta = 0) AND (PriceCurrent = PriceMin)'을 전달하는 비트 값을 매개 변수로 필터링하는 방법입니다. –