gpt4 book ai didi

SQL Join Table for Single Table to Self

转载 作者:行者123 更新时间:2023-11-29 14:31:20 25 4
gpt4 key购买 nike

我试图在 Postgres 中创建一个表来表示同一个表的行之间的多对多关系。

我有一个名为outerwear 的表(类似于夹克等),我想在outerwear 实例之间创建多对多关系。 p>

我想知道最好的方法是创建一个连接表来模拟这种关系,考虑到 AB 与 < em>B 到 A。到目前为止,我有这个(这只是一个普通的连接表):

CREATE TABLE outerwear_outerwear_join (
a_outerwear_id integer REFERENCES outerwear,
b_outerwear_id integer REFERENCES outerwear,
PRIMARY KEY(a_outerwear_id, b_outerwear_id)
);

但这同样没有说明翻转列的顺序不应更改行的值/唯一性这一事实。

最佳答案

使用 leastgreatest 函数创建一个 UNIQUE INDEX

CREATE UNIQUE INDEX unq_test_a_b 
ON outerwear_outerwear_join ( LEAST(a_outerwear_id, b_outerwear_id), GREATEST(
a_outerwear_id, b_outerwear_id));

Demo

关于SQL Join Table for Single Table to Self,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51346749/

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