簡體   English   中英

將“ INNER JOIN”查詢從Access移到C#和SQL

[英]Moving “INNER JOIN” Query from Access to C# and SQL

我很難通過C#代碼和SQL運行Access查詢。

我在說“內在”時出錯。

UPDATE Service INNER JOIN Sales ON ([Service].VIN=Sales.VIN) AND (Service.Address=Sales.address) SET Service.Selldate = Sales.Selldate
WHERE Service.Address=Sales.address And Service.VIN=Sales.VIN;

Access允許您以這種方式編寫sql,但是sql server不需要更改更新語句,以便聯接不在更新之外

遵循以下內容的某些東西應該起作用

UPDATE s
SET s.Selldate = sa.Selldate
from 
Service s INNER JOIN Sales sa ON s.VIN=sa.VIN AND s.Address=se.address
WHERE s.Address=se.address And s.VIN=sa.VIN;

您可以使用別名作為ser forService和sales進行銷售,並像這樣構建updatestatement。

UPDATE ser SET ser.Selldate = sale.Selldate  
FROM Service ser    
JOIN Sales sale ON (ser.VIN=sale.VIN) AND (ser.Address=sale.address) 
WHERE ser.Address=sale.address And ser.VIN=sale.VIN;

考慮在DBMS中使用視圖,那么您所要做的就是使用視圖名稱作為表名稱。

在MSSQL中,您可以創建視圖,這些視圖是有效保存的SELECT語句,可以像表一樣調用它們。 右鍵單擊視圖打開DBMS,然后添加新視圖。 將視圖視為訪問中的查詢。

我認為您最好將其作為兩個不同的查詢來執行,但是如果您想一次性執行此操作,則可以使用子查詢。

UPDATE Service SET Service.Selldate = Sales.Selldate
WHERE service.vin in (select sales.vin from sales) and service.address in (select sales.vin from sales) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM