Update 兩個表之間數據更新

accessweb

UPDATE house, table1 SET house.上月表底 = table1.表底
WHERE table1.年份=CStr('2015') and table1.月份=CStr('5') and house.戶號=table1.戶號;
orm

 

1、當用一個表中的數據來更新另外一個表中的數據,T-SQL提供多種寫法(下面列出了二種),但建議用第一種寫法,雖然傳統,但結構清晰。ci

而且要注意,當用一個表中的數據來更新另外一個表中的數據時,二個表必定要有關聯!qt

1.it


update t1   
        set t1.c2 = t2.c2  
      from t2  
where t1.c1 = t2.c1 table

2.date


Update t1   
        set t1.c2 = t2.c2  
from t1 inner join t2   
        on t1.c1 = t2.c1 webkit

2、FROM 子句中指定的表的別名不能做爲 SET column_name 子句中被修改字段的限定符使用。
    例如,下面的內容無效:數據


UPDATE titles  
SET t.ytd_sales = 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) tab

若要使上例合法,請從列名中刪除別名 t 或使用自己的表名。
1.


UPDATE titles  
SET ytd_sales = 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 titles.ytd_sales = 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)

相關文章
相關標籤/搜索