gpt4 book ai didi

mysql - 如何连接3个关系表

转载 作者:行者123 更新时间:2023-11-29 01:24:54 26 4
gpt4 key购买 nike

如何连接 3 个关系表,其结构如下:

t1 | id
t2 | id | rating
t3 | source_id | relation

t3 存储 t1 和 t2 都使用的字段的数据。所以source_id字段可以是t1的id或t2的id。

input  : t1 id
output : t2 rating

示例:

**t1**

id |
---------
42 |

**t2**

id | rating
-------------
37 | 9.2

**t3**

id | source_id
--------------
42 | 1
37 | 1
26 | 2
23 | 1

我想要的是用 42 个输入获得 9.2 的输出。

你能在一个sql查询中做到这一点吗?

最佳答案

你的“关系表”是一场灾难;所需的 SQL 代码(SQL 旨在导航关系数据库)将是一场进一步的灾难,永远不会完整或稳定。编码问题是必然的二阶问题,它可以识别一阶错误。

首先,针对您放置数据的关系 DBMS 准确地标准化和建模您的数据;这样您就可以使用 SQL 关系语言。那么代码就会简单、容易、直接、完整。

如果你想让我对数据建模,没问题。但我需要比神秘的 Id 列更多的信息;我需要实体和列的名称、它们的含义以及它们实际上如何相互关联。

评论回复

是的,您当然可以有一列作为外键引用多个父表。但是(在关系数据库中)您不能拥有一个一个另一个父表的列:这将导致孤儿、老处女和各种容易避免的情况编码恐怖。

关于mysql - 如何连接3个关系表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com