gpt4 book ai didi

sql - 数量未知的 PostgreSQL 一对多

转载 作者:行者123 更新时间:2023-11-29 12:19:44 39 4
gpt4 key购买 nike

我有两个表:responseanswer。单个响应可以包含多个答案。所以 response 应该有一个 FK 到答案表。但是,一个回复的答案数量没有限制。

是否可以指定这两个表之间的一对多关系,而不必硬编码特定数量的列?

最佳答案

Is it possible to specify a one-to-many relationship between these two tables without having to hardcode a specific number of columns?

您可以创建一个由两个外键组成的连接表,其中每一行代表响应和答案之间的关联,即如果 ID 为 1 的响应与答案 1 和 2 相关联,您的表将包含这两行

response_id, answer_id
1, 1
1, 2

您可以使用以下查询选择您的响应/答案关联

select * 
from response r
join response_answer ra on ra.response_id = r.id
join answer a on a.id = ra.answer_id

编辑

上面的答案假设你实际上想要一个多对多而不是一对多的关系(即每个答案可以属于许多响应而不是一个)否则更简单的解决方案是将响应 fk 添加到答案表。

关于sql - 数量未知的 PostgreSQL 一对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33161452/

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