下記のようなテーブルがあるとします。
<Employee> EMP_ID INTEGER PK NAME VARCHAR(40) <SARALY> EMP_ID INTEGER -- Employee.EMP_IDがFK, PK START_MONTH INTEGER PK PRICE INTEGERSTART_MONTH は、201505のようにyyyyMM で、開始月を示します。
このような構成で、社員の給料を管理するとします。
ここで、「全社員の現在の給料テーブル」を取得したい場合にはどうしたらよいでしょうか?
なお、
「ある社員の現在の給料を取得する」場合は、下記の通りということでできました。
lang
1SELECT 2 a.EMP_ID 3 , a.NAME 4 , b.PRICE 5FROM 6 EMPLOYEE a 7 LEFT OUTER JOIN SARALY b 8 on a.EMP_ID = b.EMP_ID 9WHERE 10 a.EMP_ID=? 11 AND b.START_MONTH = ( 12 SELECT 13 MAX(START_MONTH) 14 FROM 15 SARALY 16 WHERE 17 EMP_ID=? 18 )
?には、同じ従業員番号を指定します。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。