我想创建数据库的 View 。事实上,我的数据库包含大约 20 个表,我想根据外键连接这些表,但有一些重复的列。有没有一种既简单又快速的方法呢?
最佳答案
这可能会有所帮助。如果您不想受骗,则必须列出这些列。您可以运行
select group_concat(concat(table_name,'.', column_name) separator ', ')
from information_schema.columns
where table_name in ('Students', 'ClassRoster');
这将列出您在一个长字符串中指定的表中的所有列的 [table_name].[column_name]。然后,您可以复制结果并将其粘贴到查询中的 SELECT
旁边,并删除所有重复列(如果您知道)。此查询将显示有多于一个的列并显示表格。
select table_name, column_name
from INFORMATION_SCHEMA.COLUMNS
where column_name in (
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS
group by COLUMN_NAME
having count(1) > 1)
order by column_name
它仍然是手动的,但会节省您一些时间。通过多一点努力,您可以将查询调整为整个过程只是一个查询,而不需要手动删除任何内容。
关于mysql - 连接多个表sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27408780/