2012-11-01 4 views
2

J'ai besoin de toutes les colonnes d'une table mais deux colonnes doivent être distinctes. J'ai utilisé ce code mais il vérifie toutes les colonnes, mais j'ai seulement besoin que deux d'entre elles soient distinctes. Comment puis-je satisfaire ceci?en utilisant select distinct avec plusieurs colonnes mais toutes les colonnes doivent être distinctes

select distinct a.personalId, a.fileId, a.name, a.surname, a.address from my_table a 

Si je le code suivant, je ne peux pas les autres colonnes:

select distinct a.personalId, a.fileId from my_table a 
+0

pouvez-vous publier des données d'échantillon et le résultat souhaité? –

+0

J'utilise plSql Oracle – user983924

+0

En fait, vous utilisez Oracle * SQL * - PL/SQL est le langage procédural d'Oracle. –

Répondre

1

Que faut-il si les autres colonnes sont différentes? Comment la base de données doit-elle choisir la valeur à afficher? La réponse est "ça ne peut pas", et comme il ne peut pas, il n'y a pas de syntaxe pour le faire (c'est une erreur logique).

MySQL a une extension où il va choisir des valeurs de façon aléatoire.

select a.personalId, a.fileId, a.name, a.surname, a.address 
from my_table a 
group by a.personalId, a.fileId 

Mais je ne recommande pas cela. Vous devez repenser la logique que vous utilisez.

Questions connexes