gpt4 book ai didi

mysql - 重复超过 2 列

转载 作者:行者123 更新时间:2023-11-30 22:02:11 25 4
gpt4 key购买 nike

所以我试图在 MYSQL 中获取任何具有相同名称和相同数据类型的属性的表对。

SELECT distinct a.table_name,b.table_name FROM INFORMATION_SCHEMA.COLUMNS a  
JOIN INFORMATION_SCHEMA.COLUMNS b on a.column_name=b.column_name
and a.data_type=b.data_type
WHERE a.table_schema='Online_food'
and b.table_schema='Online_food'
and a.table_name<>b.table_name

(Online_Food 是我的数据库)

问题是我得到两行
(客户,订单)
(订单,客户)

但我只想要其中之一。其中任何一个。
有什么建议吗???

最佳答案

如果你想排除一半的搜索,你可以这样做:

SELECT distinct a.table_name, b.table_name 
FROM INFORMATION_SCHEMA.COLUMNS a
JOIN INFORMATION_SCHEMA.COLUMNS b ON a.column_name = b.column_name
AND a.data_type = b.data_type
WHERE a.table_schema = 'Online_food'
AND b.table_schema = 'Online_food'
AND STRCMP(a.table_name,b.table_name) > 0

通过选择一个表名在字母数字上比另一个表名大的结果,您可以确保只进行 0.5*n*n-n 比较,其中 n 是表的数量。

关于mysql - 重复超过 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042081/

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