gpt4 book ai didi

mysql - MySQL 上关联多个表

转载 作者:行者123 更新时间:2023-11-29 20:55:57 26 4
gpt4 key购买 nike

我是MySQL初学者,第一次在这里提问,如果我错了,请纠正我。

我有 4 个表,如下所示:

Table A 
A_id | A_description

Table B
B_id | B_description

Table C
C_id | C_description

Table D
D_id | D_description

现在我想制作一个与这 4 个表相关的新表:

Table E
A_id | B_id | C_id | D_id | D_description

数据表示应该是这样的:

A    B    C    D   D_Description
================================
A1-> B1-> C1-> D1 ->Description
-> D2 ->Description
-> C2-> D1 ->Description
-> D2 ->Description
-> B2-> C1-> D1 ->Description
-> D2 ->Description
-> C2-> D1 ->Description
-> D2 ->Description

and so on for A2 ...

我开始像这样制作数据库:

Table A 
A_id | A_description

Table B
B_id | A_id | B_description

其中B_idA_id是唯一约束。但我不知道如何以这种方式制作剩余表格的结构。

那么,数据库结构应该是怎样的呢? (或者前 4 个表的结构应该如何?)谢谢:)

编辑:结果表应该是这样的:

Table A
A_id | A_Description
1 explanation
2 another explanation

Table B
A_id | B_id | B_Description
1 1 description
2 1 my description
2 2 your description

如果 A_id 不同(如唯一约束),则 B_id 列可以包含相同的数据

最佳答案

我认为你只是想要交叉连接:

Select a.id, b.id, c.id, d.id, d.description
From a cross join b cross join c cross join d;

注意:这将填充所有列值,但这就是 SQL 结果集通常的工作方式。行格式化通常在应用程序层完成。

您可以将结果保存在表格中,该表格可将它们关联起来。

关于mysql - MySQL 上关联多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37631800/

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