以下是需要完成的操作: SQL Server中的不同表匹配2個字段(已完成),更新table1中的字段where table1.field1 = table2.field2(的問題,它只是更新表中的所有記錄)只更新兩個表的CROSS JOIN中字段值匹配的行(SQL)
這裏是我有,其中tempTableName是導入到SQL Server進行查詢的目的表:
"UPDATE Table1 SET Table1.fieldN ='" + DateTime.Now.DayOfYear + "' FROM " + tempTableName + " CROSS JOIN Table1 WHERE (" + tempTableName + ".fieldX = Table1.fieldY)"
以下是我想到的:
一切後,FROM
是無用的,只要實際的功能而言,它運行的查詢,但在任何方式的結果不是「掛鉤」實際UPDATE
聲明
綜上所述:
查詢我已經計算出更新table1中的所有記錄,我需要查詢以僅更新查詢後匹配的行。FROM
PS。請原諒我,如果這看起來微不足道,而且我還沒有做過研究,但事實是2周前我從來沒有聽說過SQL,並且嚴重依賴於SO來提供指導和建議。
非常感謝喬,測試我輸入 – Dani
再次感謝,這與什麼雖然呢? [Inner Join vs Cross Join](http://stackoverflow.com/questions/670980/performance-of-inner-join-compared-to-cross-join) – Dani
你引用的例子是'SELECT'語句。我不相信這種行爲會轉化爲「UPDATE」語句。無論如何,顯式的'INNER JOIN'是兩種情況下最好的方式。 –