2016-04-22 74 views
0

SQL不是我最強的主題,我一直在努力創建視圖。在SQL中的兩個表之間創建視圖

我應該創建一個視圖,指出哪些時間表有爭議。這些時間表尚未獲得批准,並且比兩週前舊。數據應以下列格式顯示:

TIMESHEET_ID    TIMESHEET    EMPLOYEE 
15       16-feb-15    Gareth Smith 

我再次在一段時間內沒有完成SQL。需要爲此創建視圖的表如下:

timesheet

Name          Null? Type 

TIMESHEET_ID        NOT NULL NUMBER(3) 
TIMESHEET_EMP        NOT NULL NUMBER(3) 
TIMESHEET_WC        NOT NULL DATE 
TIMESHEET_HOURS         NUMBER(2) 
TIMESHEET_OT          NUMBER(2) 
TIMESHEET_APPROVED         NUMBER(3) 

employee

Name          Null? Type 

EMP_ID         NOT NULL NUMBER(3) 
EMP_FIRSTNAME        NOT NULL VARCHAR2(50) 
EMP_SURNAME          VARCHAR2(50) 
EMP_DEPARTMENT          NUMBER(2) 
EMP_STREET           VARCHAR2(50) 
EMP_TOWN           VARCHAR2(50) 
EMP_DISTRICT          VARCHAR2(50) 
EMP_GRADE           NUMBER(3) 
EMP_SITE           VARCHAR2(30) 
FUNTOM_GRADE          NUMBER(3) 
EMPLOYEE_STATUS         VARCHAR2(10) 
EMPLOYEE_START          DATE 
EMPLOYEE_TERMINATION        DATE 
+1

步驟1)用連接做一個簡單的選擇。步驟2)添加「兩週齡」的競爭。步驟3)在創建視圖語句中使用步驟2中的查詢。 – jarlh

+0

您還沒有在這裏提問。請編輯該問題以向我們展示您嘗試的內容,並明確告知我們您的問題。 – Lexi

+1

此外,它看起來像您切換員工和時間表表,並沒有任何關聯2表。 –

回答

1

這樣的事情。

使用TIMESHEET_EMP = EMP_ID加入兩個表。檢查日期是否至少14天。還驗證TIMESHEET_APPROVED - 但我不知道這裏的值 - 所以更換?與你自己的價值。

create view viewname as 
select t.TIMESHEET_ID, t.TIMESHEET, e.EMPLOYEE 
from timesheet t 
    join employee e ON t.TIMESHEET_EMP = e.EMP_ID 
where t.TIMESHEET_WC <= current_date - '14' day 
    and t.TIMESHEET_APPROVED = ??? 

由於沒有指定dbms,因此我使用ANSI SQL日期比較。

相關問題