Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何对两个不同的列求和,并对不同的行求和_Sql_Sql Server - Fatal编程技术网

Sql 如何对两个不同的列求和,并对不同的行求和

Sql 如何对两个不同的列求和,并对不同的行求和,sql,sql-server,Sql,Sql Server,如何计算所有行的菜单价格*菜单数量和总计 这里是我的代码,这一个只针对一列,没有菜单数量的多个。当你看到表格时,你可以猜到我想要计算总成本 string stmt = "SELECT SUM(menu_price) FROM cart Where email=@email"; try { using (SqlConnection con = new SqlConnection(ConfigurationManager. ConnectionStrings["connectionS

如何计算所有行的菜单价格*菜单数量和总计 这里是我的代码,这一个只针对一列,没有菜单数量的多个。当你看到表格时,你可以猜到我想要计算总成本

string stmt = "SELECT SUM(menu_price) FROM cart Where email=@email";

try
{
    using (SqlConnection con = new SqlConnection(ConfigurationManager.
   ConnectionStrings["connectionString"].ConnectionString))
    {
        using (SqlCommand cmd = new SqlCommand(stmt, con))
        {
            cmd.Parameters.AddWithValue("@email", Session["email"].ToString());
            con.Open();
            int count = (int)cmd.ExecuteScalar();
            return count;
        }
    }
}
catch (Exception e)
{
    lbltotalitemcart.Text = e.ToString();
    return 0;
}

您可以在
SUM()中进行乘法运算。


这既不是一个C#问题,也不是一个asp.net问题,而是一个SQL问题:一个用户通常可能有多个会话(比如在不同的浏览器中),每个会话都有自己的购物车,因为他们试图比较不同的选项。您应该使用会话密钥而不是电子邮件地址来区分它们。
SELECT SUM(menu_price * menu_quantity) FROM cart WHERE email=@email