首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql中包含某些数据的表中抓取2个值

从mysql中包含某些数据的表中抓取2个值
EN

Stack Overflow用户
提问于 2020-06-06 01:13:45
回答 1查看 17关注 0票数 0

我需要的查询字符串能够找到2个值,由用户插入他们的名字。

每个值中应该有一个在Ingredient1Ingredient2中(不能同时存在)。如何在sql查询中做到这一点呢?

这就是我到目前为止所尝试的

代码语言:javascript
复制
public static List<IngredientModel> LoadSearchRecipes(string ingredientCategory, string ingredientCategory1)
{
    // select ingredient category to show results
    string sql = @"SELECT * FROM dbo.Recipe WHERE Ingredient1 IN('" + ingredientCategory.ToString() + "," + ingredientCategory.ToString() + "') AND WHERE Ingredient1 IN('" + ingredientCategory.ToString() + "," + ingredientCategory.ToString() + "');"; 

     return SqlDataAccess.LoadData<IngredientModel>(sql);
}
EN

回答 1

Stack Overflow用户

发布于 2020-06-06 01:19:08

每个值中的一个应该在Ingredient1和Ingredient2中(不能同时存在)

在MySQL中,您可以将这两个条件都作为整数进行计算,并确保总和仅为1

代码语言:javascript
复制
where (ingredient1 = ?) + (ingredient2 = ?) = 1

实际上,我怀疑您没有使用MySQL。以下是其他数据库的标准方法:

代码语言:javascript
复制
where 
    (case when ingredient1 = ? then 1 else 0 end) 
    + (case when ingredient2 = ? then 1 else 0 end) = 1

问号应替换为参数的值(绑定参数的语法可能因数据库而异)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62220770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档