나는 다음과 같은 sql 질문을 가지고있어서 저에게 효과적이지 않습니다. 마지막 CASE 행이 잘못되었음을 알고 있지만 내 where 절에서 CASE 문을 사용하고 싶습니다.SQL - where 절의 사례
내 상황에 대한 간단한 설명 : "회사 ID"와 연결된 자료가있는 회사가 여러 곳 있습니다. 각 자료는 pricelist_entries의 행에 링크 될 수 있습니다. 여러 물질 행에 연결된 pricelist_entries 테이블에서 한 행을 검색하면 모든 행이 반환되지만 현재 회사 (검색을 수행하는 회사)에 속한 행만 반환하려고합니다. 결론 : materialID가 NULL이 아닌 경우 materials.company = "current.companyID".
SELECT peID, peName, materialID
FROM pricelist_entries
INNER JOIN pricelist ON pricelist_entries.peParentID=pricelist.pID
LEFT JOIN materials ON pricelist_entries.peID=materials.pricelist_entries_id
WHERE peBrand = 'Kama' AND pricelist.pCurrent = 1
AND (peName LIKE '%gocamp de%' OR peArtnr LIKE '%gocamp de%')
AND pricelist.country=0 AND pricelist_entries.peDeleted=0
CASE materialID WHEN IS NOT NULL THEN materials.companyID=10 END
더 나은 방법으로 내 문제를 설명해야하는지 알려주세요. 미리 감사드립니다.
정확히 내가 찾고있는 것이 었습니다. 감사! :) – hgerdin