Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql-包含来自组合表的数据的表_Mysql - Fatal编程技术网

mysql-包含来自组合表的数据的表

mysql-包含来自组合表的数据的表,mysql,Mysql,我知道我可以将表与sql查询相结合,但这不是我想要的 假设有10个表,它们都是相同的,但由于某些原因,我不想将这些数据混合在一个表中。虽然另一方面,要创建特定的搜索结果,我希望能够执行单个sql查询:从组合_表中选择*from,其中name='where' 我从这10个表中实时获取数据 可能,是/否?您几乎肯定希望将这些数据放入一个表中 假设您有十种不同类型的数据。添加一个名为type的列。您应该选择一个更好的名称,并允许其值介于1到10之间。现在,您的查询将在没有更改的情况下工作 如果愿意,您

我知道我可以将表与sql查询相结合,但这不是我想要的

假设有10个表,它们都是相同的,但由于某些原因,我不想将这些数据混合在一个表中。虽然另一方面,要创建特定的搜索结果,我希望能够执行单个sql查询:从组合_表中选择*from,其中name='where'

我从这10个表中实时获取数据


可能,是/否?

您几乎肯定希望将这些数据放入一个表中

假设您有十种不同类型的数据。添加一个名为type的列。您应该选择一个更好的名称,并允许其值介于1到10之间。现在,您的查询将在没有更改的情况下工作

如果愿意,您仍然可以单独获取数据:

SELECT * from yourtable
WHERE name = 'whatever'
AND `type` = 3
我能想到的不这样做的唯一原因是,如果您有具有不同权限的不同用户,并且希望使用表来控制哪些用户可以查看哪些数据

如果尽管有这些好处,您仍然不想将数据放在一个表中,那么您可以使用UNIONALL解决问题


不,要动态地从所有表中获取数据,您必须通过sql查询组合这些表,如果它们相同,则可能使用union,或者使用服务器端代码使用类似的功能。我知道所有内容都应该在同一个表中,但由于客户的要求,在这种情况下确实不可能。我考虑过UNION语句,但这意味着每次添加另一个源代码时都要重写sql代码。。。
CREATE VIEW yourview AS
SELECT col1, col2, ..., coln FROM table1
UNION ALL
SELECT col1, col2, ..., coln FROM table2
UNION ALL
SELECT col1, col2, ..., coln FROM table3
UNION ALL
etc...