gpt4 book ai didi

mysql - 3 Table JOIN - 有两个唯一的标识符从第三个中提取不同的数据

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

我有两个包含动态数据的表,都引用了第三个静态表进行描述。想象一下这个场景:

Cake Table
Sponge Table
Description Table

海绵是蛋糕的一种。海绵的每个实例都属于蛋糕的一个实例。基本上,一个 Sponge 有一个关联的 Cake ID。

蛋糕有适合蛋糕风格的基本描述。这是一个简单的编号索引。 IE。蛋糕描述可能是 25,这在描述表中等于“柔软,但可挤压”。

Cake Table Rows 有其描述的索引。同样,海绵也有其描述的索引 - 即使它与蛋糕的描述相同。

海绵属于描述 ID 为 25 的蛋糕 - 蛋糕“柔软,但可挤压”;但是 Sponge 也有它自己的描述索引 10 - “少咬一口的杏仁!”。

我的问题是,如何从第三个表中提取两个描述?这可能很简单,但我多年来一直致力于此,试图提出一个有效的查询

到目前为止:

 SELECT 
cakes.*,
sponges.*,
descriptions.description as cake_description,
descriptions.description as sponge_description
from sponges
join cakes on cake_id = sponge_id
join descriptions on cake_desc_id = description_id

以上内容在两个描述字段中复制了 Sponge 描述。基本上,我希望能够同时提取 Cake Description 和 Sponge Description。

在此先感谢您的帮助

最佳答案

来自描述的自连接应该可以满足您的需求。如果有些记录具有一种类型的描述,但没有另一种类型的描述,则您需要将其更改为左连接。

SELECT 
cakes.*,
sponges.*,
cake_description.description as cake_description,
sponge_description.description as sponge_description
from sponges
join cakes on cake_id = sponge_id
join descriptions cake_description on cake_description.cake_desc_id = description_id
join descriptions sponge_description on sponge_description.cake_desc_id = description_id

关于mysql - 3 Table JOIN - 有两个唯一的标识符从第三个中提取不同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115338/

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