2个数据表 表A 表B
表A是销售表
表B是销售表对应的货品明细
中间用TradeID联系现在表A有个字段(GoodsList),用于存储对应的B表货品明细简称(TableB.Name + TableB.Price)
我需要一个SQL语句,用于查询表B对应的明细,并把其中的名称和价格字段合并成一个字符串,并更新赋值给GoodsList我要请教的就是这个查询语句UPDATE TableA
SET TableA.GoodsList=(Select **** from TableB Where TableA.TradeID=TableB.TradeID)中间星号的语句,我不会写,
我印象中有个链接查询结果的函数,可以把查询结果链接起来,
SQL  UPDATE存储

解决方案 »

  1.   

    UPDATE TableA
    SET TableA.GoodsList=Stuff((Select 
                                      ','+Name+Price 
                                  from TableB 
                                  Where TableA.TradeID=TableB.TradeID 
                                  For xml path('')
                           ),1,1,'')
      

  2.   

    UPDATE  TableA
    SET     TableA.GoodsList = TableB.名称 + CONVERT(VARCHAR(10), TableB.价格)
    FROM    TableA
            INNER JOIN TableB ON TableA.TradeID = TableB.TradeID