私は予約システムを作っていますが、今は立ち往生しています。
Microsoft access 2010 テーブル:
-drinks
-ordered_drinks
構造
tables:
-id,
-..,
-...,
drinks:
-id,
-title,
-price,
ordered_drinks:
-id,
-drink_id,
-table_id,
注文した飲み物テーブルで重複した行の1つだけを削除したいのですが、重複から1つの飲み物だけを削除しようとすると、同じdrink_idを持つすべての飲み物が削除されます
public bool deleteDrink(int di)
{
bool removed= false;
dbcom = new OleDbCommand("DELETE FROM ordered_drinks WHERE table_id=@tableId", dbcon);
dbcom.Parameters.AddWithValue("@tableId",tableId);
removed = (dbcom.ExecuteNonQuery() >=1)? true : false;
return removed;//return boolean
}
重複から1行だけを削除するSQLステートメントを知っている人はいますか?
私はそれがこの方向のどこかにあると思います:
delete * Drinks_ordered where drink_id in (select top(1) WHERE drink_id=@drink_id AND table_id=@tableId