我现在遇到一个问题:现在有两张表,一张是Order(订单表),另一张是OrderDetail(订单明细表),两个表通过OrderId关联。Order表中的ProductType字段是后来才加的,现在是想找到Order表中Id和OrderDetail表中的OrderId相等的数据,然后把OrderDetail表中ProductType字段的值赋给Order表中的ProductType字段。还有一个重要的细节就是,一个订单可能有多个订单明细(也就是一个订单可能都多个商品的意思),这种情况是把OrderDetail表中多个ProductType字段的值拼接到Order表中的ProductType字段。麻烦大家想想我以上表述的这个问题用SQL语句该怎么解决?非常感谢。


------解决思路----------------------
UPDATE [Order]SQL2005+有效
SET ProductType=
(SELECT''+CAST(ProductType AS VARCHAR(10))FROM OrderDetail
WHERE OrderDetail.OrderId=ID
FOR XML PATH(''))
------解决思路----------------------
UPDATE Order
SET ProductType=
(SELECT STUFF((SELECT ','+ProductType FROM OrderDetail WHERE OrderDetail.OrderId=Order.Id FOR XML PATH('')),1,1,''))
中间用,分割,可以自己处理成需要的