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:截然不同,分組給我同樣的表現。 –