现在我正在开发一个使用大量 SQL 数据库的 C# 软件。问题是我对 SQL 不是很熟悉 ...
所以,我有 3 个表
标签 1:
ID| Ingrediente| Cant_disponibila
1 | mere | 250
2 | pere | 14
3 | nuci | 111
标签 2:
ID_Recipe| Denumire
1 | mere
2 | pere
3 | nuci
标签 3:
ID| Recipe_ID |Ingrediente_ID | Cant_necesara
1 | 1 | 7 | 250
2 | 1 | 5 | 14
3 | 2 | 6 | 111
4 | 2 | 1 | 111
5 | 2 | 2 | 111
我需要完成下一个任务:cant_disponibila=cant_disponibila - cant_necesara ......"-"表示减去 :) 所有这些 if denumire="something";
后来编辑:在mysql中查询是这样的:
UPDATE tab1 JOIN tab3 ON (ID = Ingrediente_ID) JOIN tab2 ON (ID_Recipe = Recipe_ID) SET Cant_disponibila = Cant_disponibila - Cant_necesara WHERE Denumire = "...";
问题是在我的 C# 软件中出现错误,提示“关键字连接附近的语法不正确”
最佳答案
根据您的语法错误消息,我认为您使用的是 SQL Server
而不是 MySQL
,这是一个 UPDATE
语句,其中包含 join for SQL Server
UPDATE a
SET a.Cant_disponibila = a.Cant_disponibila - c.Cant_necesara
FROM tab1 a
INNER JOIN tab3 c
ON a.ID = c.Ingrediente_ID
INNER JOIN tab2 b
ON b.ID_Recipe = c.Recipe_ID
WHERE b.Denumire = ''
关于C#和mysql,表连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700397/