`
J-mate
  • 浏览: 8590 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

mysql中关联子查询问题

阅读更多

 

1. 需求:两张表FangAn和FangAnDetail,一对多的关系,根据条件更新FangAnDetail的两个字段。

 

2.表结构:

FangAn表

 

+----------------+-------------+------+-----+---------------------+----------------+

| Field             | Type         | Null  | Key| Default               | Extra            |

+----------------+-------------+------+-----+---------------------+----------------+

| id                  | bigint(20)  | NO   | PRI | NULL                | auto_increment | 

| lot                 | varchar(30) | NO   |     |                     |                | 

| playType       | int(10)     | NO   |     | 0                   |                | 

| money          | int(10)     | NO   |     | 0                   |                | 

| addDate        | timestamp   | NO   |     | CURRENT_TIMESTAMP   |                | 

| lastUpdateDate | timestamp   | NO   |     | 0000-00-00 00:00:00 |                | 

| status         | int(2)      | NO   |     | 0                   |                | 

| catId          | bigint(20)  | NO   | MUL |                     |                | 

| expertId       | bigint(20)  | NO   | MUL |                     |                | 

| startQihaoId   | bigint(20)  | NO   | MUL |                     |                | 

| endQihaoId     | bigint(20)  | NO   | MUL |                     |                | 

+----------------+-------------+------+-----+---------------------+----------------+

FangAnDetail表

+----------------+------------+------+-----+---------------------+----------------+

| Field          | Type       | Null | Key | Default             | Extra          |

+----------------+------------+------+-----+---------------------+----------------+

| id             | bigint(20) | NO   | PRI | NULL                | auto_increment | 

| multi          | int(2)     | NO   |     | 0                   |                | 

| touMoney       | int(10)    | YES  |     | NULL                |                | 

| leiMoney       | int(10)    | YES  |     | NULL                |                | 

| zhuanMoney     | int(10)    | YES  |     | NULL                |                | 

| addDate        | timestamp  | NO   |     | CURRENT_TIMESTAMP   |                | 

| lastUpdateDate | timestamp  | NO   |     | 0000-00-00 00:00:00 |                | 

| status         | int(2)     | NO   |     | 0                   |                | 

| qihaoId        | bigint(20) | NO   | MUL |                     |                | 

| fanganId       | bigint(20) | NO   | MUL |                     |                | 

+----------------+------------+------+-----+---------------------+----------------+

 

UPDATE expertfangandetail detail1 SET detail1.leiMoney=600, detail1.zhuanMoney=400 WHERE detail1.id IN
	(SELECT a.id FROM(SELECT detail2.id FROM expertfangandetail detail2, expertfangan fangan WHERE detail2.fanganid=fangan.id
 		AND fangan.playtype=301 AND detail2.toumoney=600) a);
分享到:
评论

相关推荐

    mysql子查询的用法

    在本篇文章中,我们将深入探讨MySQL子查询的用法,包括单行子查询、多行子查询、关联子查询以及它们在实际应用中的示例。 1. 单行子查询 单行子查询返回单个值,常用于WHERE子句中与外部查询的字段进行比较。例如,...

    MySQL中表子查询与关联子查询的基础学习教程

    MySQL中的表子查询和关联子查询是SQL查询中两种重要的技术,它们在处理复杂的数据查询时发挥着关键作用。本文将深入探讨这两种子查询的概念、用法和优化策略。 首先,我们来看表子查询。表子查询指的是在一个查询中...

    25.6 MySQL 子查询

    在MySQL中,子查询可以分为单行子查询、多行子查询和关联子查询。单行子查询返回单个值,多行子查询返回一组值,而关联子查询则涉及到与外部查询的行进行比较。 1. **单行子查询**: 单行子查询返回一个单一的、...

    mysql子查询与连表查询的效率比较及优化

    ### MySQL 子查询与连表查询的效率比较及优化 #### 一、子查询与连表查询概述 在SQL查询语言中,子查询与连表查询是两种非常重要的查询技术,广泛应用于各种复杂的业务场景中。为了更好地理解这两种查询方式的特点...

    MySQL数据库:相关子查询.pptx

    在这个例子中,外部查询`members`表的每个`用户号`都会与子查询中的`sell`表的`用户号`进行比较,只有当子查询在`sell`表中找到匹配的销售记录时,外部查询的当前行才会被选取。 相关子查询的应用场景广泛,例如在...

    mysql关联子查询的一种优化方法分析

    本文将深入探讨MySQL关联子查询的优化方法,通过实例来展示如何改进查询效率。 关联子查询,也称为嵌套查询,是将一个查询的结果作为另一个查询的条件。在MySQL中,如果子查询依赖于外部查询的值(即每个外部行都...

    mysql实现多表关联统计(子查询统计)示例

    为了解决这个问题,我们可以使用子查询来获取特定字段的信息,而不是直接在主查询中进行多表关联。在示例中,子查询用于获取总打赏分数(`total_score`)和不同时间段的消费分数(`score`)。 子查询的语法如下: ...

    MySQL子查询示例数据库

    yiibaidb.sql文件可能包含的示例将涵盖这些情况和其他复杂用法,比如嵌套子查询、使用IN和NOT IN操作符、比较子查询以及关联子查询等。通过实践这些示例,你可以深入理解如何在实际环境中有效地使用MySQL子查询来...

    子查询相关练习

    子查询是 SQL 查询中非常强大的功能之一,能够帮助我们处理复杂的数据检索任务。通过合理的设计和优化,可以极大地提高数据库操作的效率。掌握子查询的使用方法,对任何数据库开发人员来说都是非常重要的。

    mysql多条件查询

    本文将详细介绍MySQL中的多条件查询技术,包括子查询、多表查询等重要知识点,旨在帮助读者更好地理解和掌握这些实用技巧。 #### 二、子查询概述 子查询是在一个SQL查询内部嵌套另一个SQL查询的情况。它是一种非常...

    对MySQL子查询的简单改写优化

    为了解决这个问题,我们可以将子查询改写为关联查询,如下所示: ```sql SELECT t2.i_id, SUM(t2.i_sell) AS sold FROM (SELECT DISTINCT i_id FROM table_data WHERE gmt_create >= '2011-10-07 00:00:00') t1, ...

    MySQL里面的子查询实例

    MySQL中的子查询是一种强大的工具,它允许在一个查询中嵌套另一个查询,以实现更复杂的查询逻辑。子查询可以在SELECT、FROM、WHERE等子句中使用,以满足特定的数据过滤和处理需求。 1. 子查询的基本用法 子查询的...

    mysql一对多关联查询分页错误问题的解决方法

    在这个例子中,首先对主表`youpin_order`进行子查询,并在其中处理分页条件。注意,这里的LIMIT和OFFSET需要根据传入的参数计算(offset - 1)* limit,以实现正确的分页效果。然后,通过LEFT JOIN将关联表的数据...

    mysql连接查询、联合查询、子查询原理与用法实例详解

    本文实例讲述了mysql连接查询、联合查询、子查询原理与用法。分享给大家供大家参考,具体如下: 本文内容: 连接查询 联合查询 子查询 from子查询 where子查询 exists子查询 首发日期:2018-04-11 连接查询...

    MySQL数据库:嵌套子查询二.pptx

    在MySQL数据库中,嵌套子查询是一种强大的查询技术,它允许在一个查询中嵌入另一个查询,以实现更复杂的检索逻辑。本节主要介绍了如何利用嵌套子查询来处理数据查询,包括使用比较运算符和IN操作符实现不同类型的...

    MySQL的子查询及相关优化学习教程

    2. **利用索引**:确保子查询中的关键列有合适的索引,可以显著提升查询速度。 3. **使用JOIN替代子查询**:某些情况下,JOIN操作可能比子查询更有效率,尤其是在涉及多表关联时。 4. **减少子查询嵌套层次**:...

    MySQL数据库update更新子查询

    首先,我们要明白在`UPDATE`语句中直接使用子查询可能引发的问题。例如,当我们尝试像这样更新数据: ```sql UPDATE test.tb_vobile a SET a.name = '111 ' WHERE a.id = (SELECT MAX(id) id FROM test.tb_vobile);...

Global site tag (gtag.js) - Google Analytics