1

現在、私は多くの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#ソフトウェアで「キーワードjoinの近くの構文が正しくありません」というエラーが表示されることです

4

2 に答える 2

1

構文エラーメッセージに基づいているのSQL Serverではなく、使用していると思います。これは、結合を含むステートメントですMySQLUPDATESQL 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 = ''
于 2013-07-17T13:03:34.950 に答える
0

あなたは正しい軌道に乗っています。次のように構文を少し並べ替える必要があると思います。

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 = "...";
于 2013-07-17T13:04:18.597 に答える