Pour Oracle, SQL, l'obtention d'une valeur distincte dans plusieurs tables et de colonnes

J'ai l'exemple de requête suivant,

select o.ENTRY_ID, o.DESCRIPTION, o.ENTRY_DATE, l.COMPANY_ID 
from TABLE1 o, TABLE2 l 
where o.ENTRY_ID = l.ENTRY_ID 
and COMPANY_ID in (10, 11, 12, 13)

qui retourne un ensemble de données semblable à la suivante:

ENTRY_ID, DESCRIPTION, ENTRY_DATE, COMPANY_ID
1, Description 1, 2/12/2008, 10
2, Description 2, 2/12/2008, 10
3, Description 3, 2/10/2008, 10
4, Description 4, 2/11/2008, 10
4, Description 4, 2/11/2008, 11
4, Description 4, 2/11/2008, 12
4, Description 4, 2/11/2008, 13

Si une entrée est associé à plusieurs entreprises, cette requête doit retourner la même entrée 1 pour chaque entreprise pour laquelle elle est associée.

Je voudrais la requête distincte par COMPANY_ID, de sorte que si une entrée est associé à plusieurs entreprises, il est retourné qu'une seule fois.

Voici l'ensemble des résultats je veux retourné:

ENTRY_ID, DESCRIPTION, ENTRY_DATE, COMPANY_ID
    1, Description 1, 2/12/2008, 10
    2, Description 2, 2/12/2008, 10
    3, Description 3, 2/10/2008, 10
    4, Description 4, 2/11/2008, 10

mais, les éléments suivants seraient acceptables ainsi,

ENTRY_ID, DESCRIPTION, ENTRY_DATE, COMPANY_ID
    1, Description 1, 2/12/2008, 10
    2, Description 2, 2/12/2008, 10
    3, Description 3, 2/10/2008, 10
    4, Description 4, 2/11/2008, 11

Je veux distinctes ENTRY_ID. Dans l'ensemble, je suis maintenant, je reçois quatre entrées avec ENTRY_ID parce que quatre entreprises se partagent l'entrée. Je veux une seule entrée est retourné lorsque l'entrée est partagé entre plusieurs sociétés.

  • Lorsque cela se produit, quelle valeur voulez-vous de voir à partir de COMPANY_ID? Cela pourrait changer réponses.
InformationsquelleAutor | 2009-02-12