update titles set ytd_sales=ytd_sales+(select distinct s.qty from FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales))
但是
select distinct s.qty from FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales))
返回的必须是单个数据集才可以

解决方案 »

  1.   

    UPDATE titles
      SET ytd_sales = 
        (select t.ytd_sales + s.qty FROM titles t, sales s WHERE t.title_id = s.title_id
        AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales));我没有测试。
      

  2.   

    改成这样:
    UPDATE titles
        SET ytd_sales = (select t.ytd_sales + s.qty from titles t, sales s WHERE t.title_id = s.title_id
        AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales))
        WHERE titles.title_id = (select title_id from sales where ord_date = (SELECT MAX(sales.ord_date) FROM sales))
      

  3.   

    没有必要这样吧!
    UPDATE titles
        SET ytd_sales = titles.ytd_sales + 
    (select qty 
            FROM  sales s 
            WHERE titles.title_id = s.title_id 
                  AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)) 不可以吗?