gpt4 book ai didi

Mysql笛卡尔积: Each relationship only once

转载 作者:行者123 更新时间:2023-11-29 19:16:05 25 4
gpt4 key购买 nike

我想知道是否有人可以帮助我。

这就是我需要做的:将语言表的 ID 拉入新表中,并使其之间具有唯一的关系。就像节点的公式 n(n-1) 一样。

我尝试使用笛卡尔积,但它不起作用,因为列 a = 1 和列 b = 2 与列 a = 2 和列 b = 1 时相同。我不确定是否可以使用 SQL 语句执行此操作,我想避免使用 php 脚本执行解决方法。所以下面的 SQL 只完成了一半。

DROP TABLE IF EXISTS lang_score;
CREATE TABLE lang_score
SELECT a.text_lang_id AS lang_1, b.text_lang_id AS lang_2
FROM text_lang AS a, text_lang AS b
WHERE a.text_lang_id != b.text_lang_id

我无法在这些列上放置 UNIQUE 键,因为每个数字都会在这两列中出现多次。我还尝试在此表上进行一些选择,但我没有找到如何避免这些重复的关系。

提前感谢您的任何提示

编辑

有效的查询:

DROP TABLE IF EXISTS lang_score;
CREATE TABLE lang_score
SELECT a.text_lang_id AS lang_1, b.text_lang_id AS lang_2
FROM text_lang AS a, text_lang AS b
WHERE a.text_lang_id < b.text_lang_id

最佳答案

您可以尝试以下查询吗:

DROP TABLE IF EXISTS lang_score;
CREATE TABLE lang_score
SELECT a.text_lang_id AS lang_1, b.text_lang_id AS lang_2
FROM text_lang AS a, text_lang AS b
GROUP BY a.text_lang_id, b.text_lang_id

关于Mysql笛卡尔积: Each relationship only once,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42701885/

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