mysql从多个表中选择但没有连接

时间:2015-05-07 08:01:24

标签: mysql

我在我的(构造中)数据库中定义了几个单独的表,它们共享相同的字段。但是在数据库中,我还有其他与数据无关的表,所以为了区分,我用相同的注释'data_table'标记其中一些。

在程序中很有用:

从information_schema.tables中选择table_name,其中table_schema ='myDB'和table_comment ='data_table'

我需要对标有此注释的所有表进行选择,以获得类似但不使用JOIN的内容,因为每次我必须在该选择中添加更多表名。

ID值

CAP-001 0.1uF < - 来自电容器表

CAP-002 1nF

RES-001 1k < - 来自电阻表

RES-002 100k

                       <-- from other table in the future

有可能吗?非常感谢您的建议。

2 个答案:

答案 0 :(得分:0)

我不明白为什么这会是一个好主意,但我认为您可以使用UNION语句进行多次查询来解决您的问题。阅读docs

中的语法

答案 1 :(得分:0)

您可以使用UNION语句。

  

UNION用于组合多个SELECT语句的结果   到一个结果集。

     

第一个SELECT语句中的列名用作   返回结果的列名称。列出的选定列   每个SELECT语句的相应位置应该相同   数据类型。 (例如,第一列选择的第一列   语句应与选择的第一列具有相同的类型   其他陈述。)

mysql> SELECT REPEAT('a',1) UNION SELECT REPEAT('b',10);
+---------------+
| REPEAT('a',1) |
+---------------+
| a             |
| bbbbbbbbbb    |
+---------------+


(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);