我正在尝试使用单个 MySql.Data
SELECT
语句从多个行中获取值。
我尝试使用以下代码但失败了。错误说
there is a syntax error on line #
MySqlConnection mysqlcon = new MySqlConnection(M_str_sqlcon);
MySqlCommand mysqlcom = new MySqlCommand(
"SELECT value FROM metatable WHERE(ProductID = 16 AND MetaKey = 'SKU') AND " +
"SELECT value FROM metatable WHERE(ProductID = 16 AND MetaKey = 'Price') AND " +
"SELECT value FROM metatable WHERE(ProductID = 16 AND MetaKey = 'Sold') AND " +
"SELECT value FROM metatable WHERE(ProductID = 16 AND MetaKey = 'SoldDate')"
, mysqlcon);
MySqlDataReader r = mysqlcom.ExecuteReader(CommandBehavior.CloseConnection);
prodMeta.Add(new ProductMeta{
ProductSKU = r.GetString(0),
RegularPrice = r.GetDouble(1),
SoldCount = r.GetInt32(2),
SoldDate = r.GetString(3)
});
mysqlcon.Close();
最佳答案
与其重复无效的 Select
语句,您可以简单地使用 in
像这样的运算符:
SELECT value
FROM metatable
WHERE ProductID = 16 AND MetaKey in ('SKU','Price', 'Sold', 'SoldDate')
而且您不需要 where 后面的括号。
关于c# - 我可以从同一列中选择多个值吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60879804/