当前位置: 首页 > 面试题库 >

MySQL Update查询具有多个值

蒋俊人
2023-03-14
问题内容

我在数据库中有一个表,记录如下:

match_id | guess | result
   125   |   1   |   0
   130   |   5   |   0
   233   |   11  |   0
   125   |   2   |   0

我的用户为每个匹配项选择一个猜测,我有一个函数可以根据匹配结果计算猜测的结果:如果猜测正确,则结果为(1)如果错误,则结果为(2
),如果比赛还没有结束,结果将是(默认为0),例如,我有11种猜测的可能性(一次可能有多个正确的猜测):如果我有一场比赛,id =
125,我拥有全部除了8,11之外的其他猜测都是错误的,因此我应该为具有匹配ID的所有匹配更新结果字段,并且其猜测为8或11(我将为此结果字段提供1),而我想为其他字段给出(2)猜对相同的比赛

我将此查询用于所有十一种可能性,如下所示:

UPDATE `tahminler` SET result=1 WHERE match_id='1640482' AND tahmin='8'
UPDATE `tahminler` SET result=1 WHERE match_id='1640482' AND tahmin='11'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='1'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='2'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='3'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='4'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='5'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='6'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='7'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='9'
UPDATE `tahminler` SET result=0 WHERE match_id='1640482' AND tahmin='10'

我想知道是否可以在一个查询中完成这项工作吗?


问题答案:

使用以下两个查询:

UPDATE `tahminler` 
        SET result=0 
        WHERE match_id='1640482' 
              AND tahmin IN ('1','2','3','4','5','6','7','9','10')

然后使用:

UPDATE `tahminler` 
        SET result=1 
        WHERE match_id='1640482' 
              AND tahmin IN ('8','11')


 类似资料:
  • 我不能执行这个声明。

  • 我是新来laravel的,所以原谅我可能的愚蠢问题。此外,我确实研究了所有其他“类似”的问题,但要么它们没有重现正确的解决方案,要么我真的很难理解。 情景: 我有一个帖子模型和一个主题模型。这就是他们现在的样子。 在岗位上。php 在主题上。php 现在,我需要实现的是: 如果将查询参数传递给请求(即q=Food),我只想返回在主题关系中包含主题食物的帖子,而不返回其他帖子。如果什么都没有通过,那

  • 问题内容: 给定一个简单的模式,例如PurchaseOrders {OrderId,Total,LineItemCount},我想为一些简单的统计信息生成一个简单的查询,如下所示: 但是在Linq to Sql中,我正在努力将其纳入一个查询中。 目前,我有这个: 有没有一种方法可以将其作为一个查询来完成? 问题答案: 我能想到的是给它一个假的group-by子句。它可以正常工作,并能按您期望的那样

  • Elasticsearch允许通过其“more like this”(MLT)查询搜索类似文档。我正试图更好地理解和调整查询,以便更好地找到类似的文档。 在试验它时,我发现具有多个字段的单个MLT查询的结果与具有每个字段的多个MLT查询的布尔值产生不同的结果。以下样本(截断): 具有多个字段的单个MLT查询 具有单个字段的多个MLT查询 为什么会发生这种情况? 我知道MLT查询会将单个查询中列出的

  • 问题内容: 有三个表:,并且,医院能提供的医疗服务和语言服务。因此,存在两个多对多关系。 简单ERD 现在,我想使用和搜索医院数据。 DaoImpl: 而且,如果我想从三个表中按邮政编码,医疗类型和语言进行搜索,那么如何编写一个jsql。 警告: 错误:org.hibernate.hql.internal.ast.ErrorCounter- 预期加入的路径!希望加入的路径!在org.hiberna

  • 我有一个桌子实验和一个桌子标签。一个实验可能有许多标签。架构: 是否可以使用返回实验和相应标签列表的jooq创建查询? 类似