そのため、契約開始日が最新の日付であり、関連する従業員 ID である契約テーブルを更新しようとしています。契約テーブルには、従業員に関する過去のすべての情報が格納されます。
例えば。
contract_tbl
+------------+------------+--------------------+-----------------+---------------+
|Contractid |EmployeeId |ContractStartDate |ContractEndDate | Position |
+------------+------------+--------------------+-----------------+---------------+
| 1 | 1 | 2012-12-13 | 2013-12-12 | Data Entry |
+------------+------------+--------------------+-----------------+---------------+
| 2 | 1 | 2014-01-26 | 2015-01-25 | Data Entry |
+------------+------------+--------------------+-----------------+---------------+
| 3 | 2 | 2014-01-26 | 2015-01-25 | Data Entry |
+------------+------------+--------------------+-----------------+---------------+
これは私が持っているSQLですが、機能しません。(mysql db を使用)
UPDATE contract_tbl
SET Position='Data Analyst'
WHERE EmployeeId = 1 And ContractStartDate= (
select max(ContractStartDate
FROM contract_tbl))
したがって、上記の 2 行目のデータ アナリストを [位置] 列に更新する必要がありますが、エラーが発生します。
これを修正する方法を知っている人はいますか?
前もって感謝します