C#和mysql,表连接
本文关键字:连接 mysql | 更新日期: 2023-09-27 18:22:43
现在我正在开发一个使用大量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_disonibila=cant_disanibila-cant_necsara。。。。。"-"表示子项:)如果denumire="某事";
稍后编辑: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#软件中给了我一个错误,上面写着"关键字join附近的语法不正确"
根据语法错误消息,我认为您使用的是SQL Server
而不是MySQL
,下面是SQL Server
的带有join的UPDATE
语句
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 = ''
你走在了正确的轨道上,我只是认为你需要重新排序语法,如下所示:
UPDATE tab1
SET Cant_disponibila = Cant_disponibila - Cant_necesara
FROM tab1
JOIN tab3 ON (ID = Ingrediente_ID)
JOIN tab2 ON (ID_Recipe = Recipe_ID) WHERE Denumire = "...";