0
votes

Sélectionnez à partir de 3 tables avec une clé étrangère

Besoin d'afficher Suivant: Tous FNAME et LNAME à partir de la table Nom d'utilisateur qui dispose de la position de "admin" à partir de l'emplacement "3ème étage", avec la clause

create table company 
(
    CODE_COMPANY char(30),
    NAME_COMPANY varchar2(30) not null,
    MAIL_COMPANY varchar2(30) null,

    constraint PK_CODE_COMPANY primary key (CODE_COMPANY),
);

create table USERNAME 
(
    NAME_USERNAME varchar2(30),
    USER_LOCATION number,
    fNAME varchar2 (30) not null,
    lNAME varchar2 (30) not null,
    PHONE_USER char(13) null,
    USER_POSITION varchar2 (30),
    check (USER_POSITION in('Admin', 'Superadmin', 'Technician', 'Student')),

    constraint PK_NAME_USERNAME primary key (NAME_USERNAME),
    constraint FK_USER_LOCATION foreign key (USER_LOCATION) references uLOCATION (LOCATION)
);

create table uLOCATION 
(
    LOCATION number,
    CODE_COMPANY char(30),
    NAME_LOCATION varchar2(30) not null,
    FLOOR_LOCATION varchar2(10),
    check (FLOOR_LOCATION in ('MAIN_FLOOR', '1ST FLOOR', '2ND FLOOR', '3RD FLOOR')),

    constraint PK_LOCATION primary key (LOCATION),
    constraint FK_CODE_COMPANY_L foreign key (CODE_COMPANY) references company (CODE_COMPANY),
);


1 commentaires

Montrez-nous le schéma DB, les échantillons de données, la sortie actuelle et attendue. Veuillez lire Comment à poser et voici un endroit idéal pour Démarrer pour savoir comment améliorer la qualité de votre question et obtenir de meilleures réponses. Comment créer un exemple minimal, complet et vérifiable


3 Réponses :


1
votes
SELECT U.fName, U.lName
FROM   USERNAME AS U
WHERE  U.USER_POSITION = 'Admin'
       AND
       U.USER_LOCATION IN (
                          SELECT L.LOCATION 
                          FROM   uLOCATION AS L
                          WHERE  L.FLOOR_LOCATION = '3RD FLOOR'
                          );

2 commentaires

Celui-ci est bon, pouvez-vous également aider, faire la même sélection de la position utilisateur qui fonctionne pour nom_company = 'abc'?


@ Ne renseignant pas. . Cela répond à la question que vous avez posée. C'est une bonne et vous devriez l'accepter. Si vous avez une autre question, vous devriez la poser comme une question nouvelle , pas dans un commentaire.



0
votes

Sélectionnez FNAME, LNAME Du nom d'utilisateur, de l'ulocalisation, de la société où Ulucting.Location = nom d'utilisateur.user_Location et société.code_company = Ulucting.Code_Company;

Mais comment spécifier, que j'ai besoin d'un administrateur d'utilisateur de nom_company abc? Comment ajouter 2 de plus où la clause?


0 commentaires

0
votes

Légère modification de la réponse de SQLRaptor pour nom_company: xxx


0 commentaires