SQL, как я могу получить список пользователей и отделов с фильтром по позиции? - PullRequest
0 голосов
/ 03 июля 2018

Пожалуйста, помогите мне, как я могу получить список пользователей отдела с фильтром по должности?

CREATE TABLE COMPANY 
(
    ID INT GENERATED BY DEFAULT AS IDENTITY,
    NAME VARCHAR(255),
    PRIMARY KEY (ID),
    UNIQUE KEY COMPANY_NAME (NAME)
);

CREATE TABLE USER
(
    ID INT GENERATED BY DEFAULT AS IDENTITY,
    NAME VARCHAR(255),
    LASTNAME VARCHAR(255),
    DATE_OF_BIRTH DATE ,
    PRIMARY KEY (ID),
);

CREATE TABLE POSITION
(
    ID INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    POSITION VARCHAR (50),
    USERID INT NOT NULL,
    PRIMARY KEY (ID),
    FOREIGN KEY (USERID) REFERENCES USER(ID)
);

CREATE TABLE DEPARTMENT
(
    ID INT GENERATED BY DEFAULT AS IDENTITY,
    USER_ID INT NOT NULL,
    COMPANY_ID INT NOT NULL,
    DEPARTMENT_CATEGORY VARCHAR(50),
    PRIMARY KEY (ID),
    FOREIGN KEY (USER_ID) REFERENCES USER(ID),
    FOREIGN KEY (COMPANY_ID) REFERENCES COMPANY(ID)
);

CREATE TABLE CATEGORY 
(
    ID INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    NAME VARCHAR (50),
    PRIMARY KEY (ID)
);

CREATE TABLE DEPARTMENT_CATEGORY
(
     DEPARTMENT_ID INT NOT NULL,
     CATEGORY_ID INT NOT NULL,
     FOREIGN KEY (DEPARTMENT_ID) REFERENCES DEPARTMENT(ID),
     FOREIGN KEY (CATEGORY_ID) REFERENCES CATEGORY(ID)
);

Пожалуйста, помогите мне !!

1 Ответ

0 голосов
/ 03 июля 2018

похоже, что вы хотели отобразить результаты из таблицы отделов и должностей, в которой есть как нужные данные, но будьте точны с вашим фильтром (положением), так как вам нужно указать его в предложении where

select user_ID, department
from department as a
join user as b
on a. user_id = b. user_id
where position = 'put the specific position you wanted to be filtered here'

но ваши два столбца userID записаны по-разному, как (User_id или USERID) правильно, что также не приведет к ошибке при выполнении задачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...