以下を選択し、正常に参加しました:
SELECT
WOEQLVW.WONUM, WOEQLVW.EQNUM, WOEVW.EMPCODE, WOEVW.WODATE, WOEVW.ESTHRS,
WOEVW.REGHRS, WO.WOTYPE, WO.ATFIRSTNAME,
WO.ATLASTNAME, WO.SCHEDSTARTDATE, WO.STATUS, WOEVW.EQNUM AS Expr1, WOEVW.LASTNAME
FROM
WOEQLVW
LEFT OUTER JOIN
WOEVW ON WOEQLVW.WONUM = WOEVW.WONUM
LEFT OUTER JOIN
WO ON WOEQLVW.WONUM = WO.WONUM
WHERE
(WO.SCHEDSTARTDATE > CONVERT(DATETIME, '2013-09-08 00:00:00', 102))
AND (WO.WOTYPE = 'SAFE-T')
AND (WO.STATUS = 'M')
私は最初に作る必要があります
WOEVW.EMPCODE = WO.ATLASTNAME
then, set WOEVW.ESTHRS and WOEVW.REGHRS = '1.00'
then, set WOEVW.WODATE = WO.SCHEDSTARTDATE
テーブルにこれらの変更を加える前に、WHERE 句のすべての項目を適用する必要があります。
最初のクエリ (上記) の後に UPDATE と WHERE EXISTS を試しましたが、ビューを取得して更新を表示することはできませんでした。
UPDATE WOEVW
SET REGHRS = '1.00'
WHERE EXISTS (SELECT WO.WOTYPE
FROM WO
WHERE WO.WOTYPE = 'SAFE-T');
私が得た:
(影響を受ける 508 行)
(影響を受ける 564 行)
このタイプのレコードがちょうど 162 あるので、これは面倒です。SELECT ステートメントを再度使用しても、変更は見られません。
VW で終わる「テーブル」はビューであり、適切なテーブルではありません。結果を表示するプログラムは Infor/MP2 です。