모든 자식 테이블에 모든 ID가있는 하나의 마스터 테이블이 있습니다. SQL 문데이지 체인 쿼리의 조건부 쿼리
SELECT Class.Descript
, Regulation.Descript AS Reg
, Compgroup.Descript AS Grouping
, Category.Descript AS Cat
, Exempt.Descript AS Exempt
, Reason.Descript AS Reasons
, COALESCE(ComponentRuleSet.NormalType, ComponentRuleSet.Supertype, '') AS Type
FROM ComponentRuleSet
LEFT OUTER JOIN Reason
ON ComponentRuleSet.ComponentCategoryID = Reason.ComponentCategoryID
LEFT OUTER JOIN Class
ON ComponentRuleSet.ComponentClassID = Class.ComponentClassID
LEFT OUTER JOIN Regulation
ON ComponentRuleSet.RegulationID = Regulation.RegulationID
LEFT OUTER JOIN Compgroup
ON ComponentRuleSet.ComplianceGroupID = Compgroup.ComplianceGroupID
LEFT OUTER JOIN Category
ON ComponentRuleSet.ComponentCategoryID = Category.ComponentCategoryId
LEFT OUTER JOIN Exempt
ON ComponentRuleSet.ExemptID = Exempt.ComponentExemptionID
WHERE (ComponentRuleSet.ComponentID = 38048)
문제는 ComponentRuleSet 테이블의 두 필드 슈퍼 및 NormalType라는이 있다는 것입니다 ... 다음과 같습니다. 해당 필드 중 하나에 값이있는 경우 열에 표시해야합니다. 그러나 둘 다 값이없는 경우 열에 공백 값을 표시해야합니다. 아이디어가 있으십니까?
--- 편집
는 유착의 내 위치는 편집 된 쿼리에 맞습니까? 그것은 여전히 오류를 반환하고 있습니다.
--update
중요 : 두 필드의 유형은 부울이다, 나는 진정한 가치를 보유하고있는 열의 열 이름을 반환하고 TYPE 열에서 그 값을 배치해야합니다. 이 필드
_both_에 값이 있으면 어떻게할까요? – Oded
하나의 유형 또는 다른 유형이어야합니다. ON/OFF 스위치 개념. 두 입력란의 값을 모두 사용할 수 없습니다. – Ccorock
나는 당신이 그 질문에 언급하지 않았기 때문에 나는 많이 생각했지만 확인을 원했다. – Oded