594
社区成员
发帖
与我相关
我的任务
分享
--问题:OrderCode是Order表中的字段,CustomEnCode是Stock中的字段,现在我需要把CustomEnCode
--保存到Order表中的CustomEnCode字段,请问需要怎么更改?万分感激,谢谢。
SELECT o.OrderCode,st.CustomEnCode FROM dbo.[Order] o LEFT JOIN dbo.OrderDetail od
ON o.Id=od.OrderId LEFT JOIN dbo.Works wo
ON od.WorksId=wo.Id LEFT JOIN dbo.Book bo
ON wo.RelateId=bo.Id LEFT JOIN dbo.Stock st
ON bo.CustomOrderId=st.CustomOrderId
WHERE bo.CustomOrderId>0 AND o.CustomEnCode IS NULL
GROUP BY o.OrderCode,st.CustomEnCode
ORDER BY OrderCode DESC
UPDATE o SET o.CustomEnCode=s.CustomEnCode
FROM dbo.[Order] o
CROSS JOIN (
SELECT TOP 1 st.CustomEnCode FROM dbo.OrderDetail od
LEFT JOIN dbo.Works wo ON od.WorksId=wo.Id
LEFT JOIN dbo.Book bo ON wo.RelateId=bo.Id
LEFT JOIN dbo.Stock st ON bo.CustomOrderId=st.CustomOrderId
WHERE o.Id=od.OrderId AND bo.CustomOrderId>0 AND o.CustomEnCode IS NULL
) s
--大概语法是这样,你套用一下
update a
set a.code = b.code
from a , b
where .....