gpt4 book ai didi

mysql - 我应该如何在我的 SQL 查询中实现和 IF 语句?

转载 作者:行者123 更新时间:2023-11-29 03:06:33 24 4
gpt4 key购买 nike

这是我的代码:

string cmdstr = "UPDATE itemsordered i " +
"INNER JOIN"+
"( SELECT itemsOrdered_quantity, itemsOrdered_ID, "+
"IF itemsOrdered_quantity = '"+quantityTxtBox.Text+"' SELECT 'EQUAL' "+
"IF itemsOrdered_quantity < '" + quantityTxtBox.Text + "' SELECT 'LESS' " +
"IF itemsOrdered_quantity > '" + quantityTxtBox.Text + "' SELECT 'MORE' " +
"END AS r "+
"FROM itemsordered "+
") res ON i.itemsOrdered_ID = res.itemsOrdered_ID "+
"INNER JOIN stocksdb s ON s.stock_ID = i.stock_ID " +
"SET s.stock_quantity = (s.stock_quantity + i.itemsOrdered_quantity), " +
"s.stock_dateUpdated = '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "', " +
"i.itemsOrdered_status = 'RECEIVED', " +
"i.itemsOrdered_dateReceived = '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "'" +
"WHERE i.itemsOrdered_ID = '" + idTxtBox.Text + "' AND res.r = 'EQUAL'";
cmd = new MySqlCommand(cmdstr, db.mycon);
cmd.ExecuteNonQuery();

MessageBox.Show("ITEM RESTOCKED!");

我真正想做的是,如果 itemsOrdered_quantity 等于 quantityTxtBox 中的值,那么它将更新 s.stock_quantity通过将 itemsOrdered_quantity 上的数量添加到当前数量。

我还想制作其他 IF 子句。但我想先解决这个难题。

它在 cmd.ExecuteNonQuery 上返回一个错误,并指向我的 SQL 字符串“靠近”我的 IF 语句。

最佳答案

MySQL 使用 CASE声明,基本语法是:

SELECT CASE WHEN a = b THEN c ELSE d END CASE

你也可以这样做

SELECT CASE WHEN a = b THEN c 
WHEN a > b THEN e
ELSE d END CASE

关于mysql - 我应该如何在我的 SQL 查询中实现和 IF 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com