2016-04-24 4 views
1

У меня возникли проблемы с созданием представления между двумя таблицами, поскольку я совершенно новый для SQL. Мне нужно создать представление, которое покажет, какие сотрудники выполняли работу в качестве консультантов в течение последних 14 дней. Результат зрения следует также отображать этот вид макета:Создание представления между двумя таблицами в SQL

14 day consultancy report 
----------------------------------------------- 
Employee Helvin Paul worked for 6 hours for factory ltd chargeable £351 

Две таблицы я предполагаю вам нужно будет соединить вместе представляют Employee стол, а также Consultancy стол. Я покажу, как ниже, как я их в текстовом файле с момента, когда я создавал эти таблицы:

create table Funtom_employee 
(
    emp_ID  Number(3) primary key,  
    Emp_firstname varchar2(50) not null, 
    Emp_surname varchar2(50), 
    Emp_department Number(2) constraint FK_funtom_dept references 
    funtom_department, 
    emp_street varchar2(50), 
    emp_town varchar2(50), 
    emp_district varchar2(50), 
    Emp_grade Number(3) default 4 constraint chk_emp_grd check (Emp_grade between 1 and 9), 
    Emp_site varchar2(30) default 'LONDON', 

    constraint FK_funtom_grade funtom_grade references funtom_department 
); 

create table Funtom_consultancy 
(
    consultancy_ID Number(3) primary key, 
    Consultancy_emp Number(3) constraint cns_emp references funtom_employee, 
    Consultancy_hours Number(4,2) constraint consultancy_check check (Consultancy_hours > 1), 
    Consultancy_client Number(3) references funtom_customer, 
    Consultancy_date DATE, 
    Consultancy_activity Number(3) references funtom_activity 
); 

Благодаря любому, кто может помочь с этим создать представление и для своего времени

+1

Какую базу вы используете? MySQL? – Jacobm001

+0

Да, жаль, что я использую MySQL –

+0

Хорошо, мой ответ должен хорошо работать с MySQL, хотя я старался сделать его как можно более стандартизированным – Jacobm001

ответ

0

Представление может быть созданный с использованием CREATE VIEWstatement. Ниже приведен пример, основанный на ваших данных.

CREATE VIEW consultancy_report as 
select 
    Funtom_employee.Emp_firstname, 
    Funtom_consultancy.Consultancy_date, 
from 
    Funtom_employee 
    join Funtom_consultancy 
     on Funtom_employee.emp_id = Funtom_consultancy.Consultancy_emp 

Вы можете добавить любые другие поля, которые вам нужны, из любой таблицы в предложении select запроса. Я продемонстрировал одно поле из обеих таблиц.

Если вы хотите вывести явно, как указано в вашем примере, вам нужно будет concatenate несколько полей вместе в виде одной строки. Поскольку это кажется домашним вопросом, я оставлю это как упражнение для вас.

Смежные вопросы