PFB我的SQL查询,而不DISTINCT或独特的关键字,如何在不使用DISTINCT和UNIQUE关键字的情况下获取唯一记录?
SELECT CLAIM.CLAIM_ID,
CLAIM.ASSESSMENT_UNIT_ID,
HOUSEHOLD_MEMBER.ASSESSMENT_UNIT_MEM_ID,
PERSON.PERSON_ID
FROM CLAIM,
AWARD,
AWARD_MEMBER,
HOUSEHOLD_MEMBER,
PERSON,
CONDITIONALITY_GROUP
WHERE CLAIM.CLAIM_ID = AWARD.CLAIM_ID
AND AWARD.AWARD_ID = AWARD_MEMBER.AWARD_ID
AND AWARD_MEMBER.HH_MEMBER_ID = HOUSEHOLD_MEMBER.HH_MEMBER_ID
AND HOUSEHOLD_MEMBER.PERSON_ID = PERSON.PERSON_ID
AND HOUSEHOLD_MEMBER.HH_MEMBER_ID = CONDITIONALITY_GROUP.HH_MEMBER_ID;
以下是上面的查询
CLAIM_ID ASSESSMENT_UNIT_ID ASSESSMENT_UNIT_MEM_ID PERSON_ID
5000000002 5000000002 1000004 1000004
5000000002 5000000002 1000004 1000004
5000000002 5000000002 1000003 1000003
5000000002 5000000002 1000003 1000003
具有独特的或不同的问题的帮助下解决的结果,但它影响的性能查询如此善意让我们知道,如何以另一种方式?
欣赏为您的帮助提前:)
为什么不使用'GROUP BY CLAIM.CLAIM_ID,CLAIM.ASSESSMENT_UNIT_ID,HOUSEHOLD_MEMBER.ASSESSMENT_UNIT_MEM_ID,PERSON.PERSON_ID'? – Stawros
对于“DISTINCT”或“GROUP BY”,您经常需要在内部执行“ORDER BY”,这是一项昂贵的操作。你为什么不解决为什么你的查询给你“重复” - 它看起来并不像你使用'CONDITIONALITY_GROUP'。如果你使用'EXISTS'来代替,并且该表导致重复,它将解决你的问题。 –
@Stawros:截然不同,分组给我同样的表现。 –