ホームページ  >  記事  >  バックエンド開発  >  MYSQL ステートメント関連の問題

MYSQL ステートメント関連の問題

WBOY
WBOYオリジナル
2016-06-13 13:38:43877ブラウズ

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
赤い部分は派生テーブルで、エイリアスが必要です。
変更されるのはクエリ結果です。うまく変更できますか?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。