2016-04-22 16 views
0

SQLは私の最強のテーマではなく、ビューの作成には苦労しています。SQL内の2つのテーブル間でのビューの作成

私はどのタイムシートが紛争しているかを示すビューを作成することになっています。これらは承認されておらず、2週間以上経過したタイムシートです。データは次の形式で表示する必要があります。

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)「2週間前」の条件を追加する。ステップ3)create viewステートメントでステップ2の照会を使用します。 – jarlh

+0

あなたはここで質問していません。あなたが試したことを私たちに示すために質問を編集し、あなたの問題点を具体的に教えてください。 – Lexi

+1

さらに、従業員とタイムシートの表を切り替えて、2つの表をリンクするものがないように見えます。 –

答えて

1

何か。

TIMESHEET_EMP = EMP_IDを使用して2つのテーブルを結合します。日付が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の日付比較を使用しています。

関連する問題