首页 >后端开发 >php教程 >MYSQL语句有关问题

MYSQL语句有关问题

WBOY
WBOY原创
2016-06-13 10:09:43836浏览

MYSQL语句问题?

SQL code
<!--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_idLEFT 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
报错;Every derived table must have its own alias该如何解决(别名问题)?

------解决方案--------------------
Every derived table must have its own alias
每一个派生表必须有自己的别名



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
红色的部分就是一个派生表,需要有别名
被修改的是查询结果,你这样能修改成功吗?
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn