Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2008, 21h28   #1
Membre du Club
 
Inscription : mai 2008
Messages : 158
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : mai 2008
Messages : 158
Points : 66
Points : 66
Par défaut Éliminer colonne dupliquée

Bonjour!

Je suis présentement en train d'écrire une commande sql dans pl/sql dev et j'aimerais savoir comment faire en sorte que lorsque je "joins" deux tables à l'aide d'une clause WHERE a.UID = b.UID on ne me retourne pas deux fois les colonnes qui sont dans les deux tables. Exemple :

UID # Address # Phone # UID


Merci d'avance pour l'aide
phfle1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 21h35   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
euh, révise ton sql...

Code :
SELECT a.UID FROM a, b WHERE a.UID = b.UID
au lieu de select *...
qui est à proscrire de toute façon !
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 22h09   #3
Membre du Club
 
Inscription : mai 2008
Messages : 158
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : mai 2008
Messages : 158
Points : 66
Points : 66
Par défaut Énumérer toutes les colonnes?

Salut,

Je sais que je peux les nommer explicitement, mais j'ai trop de colonnes (plus de vingt). N'y a t'il pas une autre méthode?

MErci
phfle1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 08h37   #4
Lucas Panny
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
SELECT a.UID FROM a, b WHERE a.UID = b.UID
Plus les 19 autres champs, courage pour la saisie !!! Je crois qu'il n'y a que cette option pour ton problème
  Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 09h07   #5
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Si tu as du mal à écrire 19 champs à la suite, abandonnes tout de suite...



Cela dit l'Oracle dans sa grande bonté à pensé aux fainéants. Il y a la possibilité d'utiliser le SQL Worksheet de SQL Developer.
  1. Tu créé une entrée pour ta base.
  2. Tu lance l'outil SQL Worksheet sur ce lien.
  3. Tu vas et tu étends "Other users -> xxx -> Tables".
  4. Tu fais un glisser du nom de ta table dans la zone de saisie de SQL Worksheet. Là tu as tous les champs suffit de virer ceux que tu ne veux pas...
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 11h44   #6
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
SELECT * FROM emp e JOIN dept d USING(deptno)
/
 
    DEPTNO      EMPNO ENAME      JOB              MGR HIREDATE        SAL
---------- ---------- ---------- --------- ---------- -------- ----------
      COMM DNAME          LOC
---------- -------------- -------------
        20       7369 SMITH      CLERK           7902 17/12/80        800
           RESEARCH       DALLAS
 
        30       7499 ALLEN      SALESMAN        7698 20/02/81       1600
       300 SALES          CHICAGO
 
        30       7521 WARD       SALESMAN        7698 22/02/81       1250
       500 SALES          CHICAGO
 
 
    DEPTNO      EMPNO ENAME      JOB              MGR HIREDATE        SAL
---------- ---------- ---------- --------- ---------- -------- ----------
      COMM DNAME          LOC
---------- -------------- -------------
        20       7566 JONES      MANAGER         7839 02/04/81       2975
           RESEARCH       DALLAS
 
        30       7654 MARTIN     SALESMAN        7698 28/09/81       1250
      1400 SALES          CHICAGO
 
        30       7698 BLAKE      MANAGER         7839 01/05/81       2850
           SALES          CHICAGO
...
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 11h51   #7
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Si il veut la totalité des autres champs, la soluce du NATURAL JOIN de la norme SQL-92 est effectivement bonne.

Par contre attention, SQL-92 est vraiment supporté qu'à partir de la 9i. Vu qu'il n'a pas mentionné sa version...
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h06   #8
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
Citation:
Envoyé par philcero Voir le message
Si il veut la totalité des autres champs, la soluce du NATURAL JOIN de la norme SQL-92 est effectivement bonne.

Par contre attention, SQL-92 est vraiment supporté qu'à partir de la 9i. Vu qu'il n'a pas mentionné sa version...
Ce n'est pas un NATURAL JOIN ce que j'ai proposé.
Code :
1
2
 
SELECT * FROM emp e NATURAL JOIN dept d
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h19   #9
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Citation:
Ce n'est pas un NATURAL JOIN ce que j'ai proposé.
Désolé, j'ai lu trop vite...

Cela dit, la syntaxe SELECT/FROM/JOIN/USING est supportée avant la 9i ?
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h33   #10
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
Citation:
Envoyé par philcero Voir le message
...

Cela dit, la syntaxe SELECT/FROM/JOIN/USING est supportée avant la 9i ?
Citation:
Oracle9i Release 1 (9.0.1) New Features in the SQL Reference

...
SELECT lets you specify multiple groupings in the GROUP BY clause, for selective analysis across multiple dimensions; lets you assign names to subquery blocks; has new ANSI-compliant join syntax.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 14h19   #11
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
D'où ma question, en 8i cela ne semble pas être supporté...
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 14h42   #12
Membre du Club
 
Inscription : mai 2008
Messages : 158
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : mai 2008
Messages : 158
Points : 66
Points : 66
Par défaut Merci

Je vais opter pour les pour les écrire explicitement!
phfle1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h36.


 
 
 
 
Partenaires

Hébergement Web