【问题标题】:updating results更新结果
【发布时间】:2011-04-11 23:40:47
【问题描述】:

表 1

CREATE TABLE master (id INT Primarykey, start_point INT, data BLOB ) 'changes' 表:

样本数据

1, 0, 数据1

2, 1, 数据2

3、2、数据3

4、4、数据4

5、6、数据5

6、8、数据6

表2

CREATE TABLE 更改(id INT、start_point INT、用户 VARCHAR(10)、数据 BLOB)用户表:

样本数据

5, 6, user1, data5(有变化的数据)

3、2、user2、data3(有变化)

4、6、user2、data4(有变化)

5、8、user2、data5(有变化)

表 3 CREATE TABLE users (id INT, user VARCHAR(10) )

样本数据

1,用户1

2,用户1

3,用户1

4,用户1

5,用户1

1,用户2

2,用户2

3,用户2

4,用户2

5,用户2

user1 的最终结果应该是(user1 的 id 信息将由 table3 提供)

0, data1----来自master

1、data2----来自master

2、data3----来自master

4,data4-----来自master

6,data5...这是变化

user2 的最终结果应该是

0,数据1

1,数据2

2,数据3

6,数据4

8,数据5

所以这就是我想要得到的.....我的问题是我从更改表和主表中获取更改记录。我不想要更改的主记录....有人可以帮我吗?

【问题讨论】:

  • 我的意思是,你说请一堆,但你有任何代码,或者你有没有尝试过编写一些代码?我不想为你做所有的功课......
  • 考虑至少证明您的表定义,然后尝试做一些尝试。
  • 我尝试了不同的选项,我无法更新我的帖子....但我已经添加了对最新答案的回复

标签: mysql


【解决方案1】:

对于这样一个简单的应用程序,请尝试以您能想到的各种方式实现它。每次执行的时间不太可能超过一个小时,因此您肯定会在一天的时间内找到最有效的实施方式。

您还会发现有些计划过于复杂或蹩脚,以至于您不会受到启发去完成它们。这都是工程过程的一部分。

简而言之,放松。只需尝试一些想法,也许最初编写粗略的模式和查询来检索数据。还要考虑编写查询以填充数据的难度,包括参照完整性。

【讨论】:

    【解决方案2】:

    你的问题很模糊。我会写下我认为你的意思,用一点 SQL 定义

    “主”表:

    CREATE TABLE master (
        id      INT PRIMARY KEY AUTO_INCREMENT,
        user_id INT INDEX,
        data    BLOB
    )
    

    “更改”表:

    CREATE TABLE changes (
        id        INT PRIMARY KEY AUTO_INCREMENT,
        master_id INT INDEX,
        data      BLOB
    )
    

    用户表:

    CREATE TABLE users (
        id   INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(40)
    )
    

    显然,这些表格不足以满足您的需求,但它们将帮助您解释如何将它们组合在一起以完成我认为您想要的。

    假设您有用户 ID,它是 4,并且您想从主表中获取用户想要的数据,以及用户对其所做的更改。你可能会这样做:

    SELECT m.id master_id, m.data master_data, c.data change_data
        FROM master m
        JOIN changes c ON c.master_id = m.id
        WHERE m.user_id = 4;
    

    这将获取用户拥有的主数据,以及对数据的更改。

    【讨论】:

    • 谢谢两位的回复
    • @acpaps: Edit your question,不是其他人的答案。
    • @BoltClock;谢谢,现在我做到了
    猜你喜欢
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 2018-06-04
    • 2014-09-13
    • 2019-04-24
    • 2017-12-14
    相关资源
    最近更新 更多