MYSQL ステートメントに問題がありますか?
SQL コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->UPDATE
(
SELECT WorkID,
WK.PpjID,
WD.CheckupPoint,
WD.AdjustPoint,
WD.FactPoint,
WE.IsSpecial,
WK.WorkType,
WK.WorkStatus
FROM `Work` WK LEFT JOIN WorkDesign WD ON WK.WorkID=WD.Work_id
LEFT JOIN WorkEditionDot WE ON WE.EditionDotID=WE.EditionDotID WHERE `WK`.WorkID IN
(SELECT `W`.WorkID FROM `Work` W WHERE W.PpjID=18035 AND (`W`.WorkStatus='已出稿' OR `W`.WorkStatus='已定稿')))
SET WD.CheckupPoint=WD.AdjustPoint+WD.FactPoint WHERE WK.PpjID=18035
ログイン後にコピー
はエラーを報告します。すべての派生テーブルには独自のエイリアスが必要です。解決方法 (エイリアスの問題)。
-----解決策---------
すべての派生テーブルには独自のエイリアスが必要です
すべての派生テーブルには独自のエイリアスが必要です
UPDATE
(
SELECT WorkID,
WK.PpjID,
WD.CheckupPoint、
WD.AdjustPoint、
WD.FactPoint、
WE.IsSpecial、
WK.WorkType、
WK.WorkStatus
FROM `Work` WK LEFT JOIN WorkDesign WD ON WK.WorkID=WD.Work_id
LEFT JOIN WorkEditionDot WE ON WE.EditionDotID=WE.EditionDotID WHERE `WK`.WorkID IN
(SELECT `W`.WorkID FROM `Work` W WHERE W . PpjID=18035 AND (`W`.WorkStatus='Published' OR `W`.WorkStatus='Finalized')))
SET WD.CheckupPoint=WD.AdjustPoint+WD.FactPoint WHERE WK.PpjID= 18035
赤い部分は派生テーブルで、エイリアスが必要です。
変更されるのはクエリ結果です。うまく変更できますか?