具体而言,我使用MySql.I在我的数据库中有很多表,如员工,学生,雇主等等。有超过20个这样的表。在每个表格中,我都有一个名为“用户名”和“年龄”的列。现在我想要一个能给我所有年龄的查询,当我给一个特定的用户名='alex'时。Mysql查询选择所有具有相同列名的表
0
A
回答
1
您可能应该有一个表格(例如,Users
),其中列表示用户是什么类型的人员(雇员,学生,雇主等)。但是,如果您必须在这一类的多个表查询,使用UNION
:
SELECT age FROM employee WHERE username = 'alex' UNION ALL
SELECT age FROM student WHERE username = 'alex' UNION ALL
SELECT age FROM employer WHERE username = 'alex' -- etc.
0
它看起来像数据库的设计不良,如果你可以改变数据库结构,这可能是要走的路。否则,你可以试试这个:
(SELECT username, age
FROM table1)
UNION
(SELECT username, age
FROM table2)
UNION
(SELECT username, age
FROM table3)
...
0
查询得到,并具有表名特定列
select table_name from information_schema.columns
where table_name in (
select table_name from information_schema.tables
where table_schema='databaseName'
) and
column_name='username';
从上述查询你将具有该领域的用户名,然后所有的表名我PHP中可以建立查询以从所有表中获取值;
相关问题
- 1. MySQL查询选择具有相同值的所有字段
- 2. 从具有动态列名的相同的mysql表中选择
- 3. MySQL选择具有相同列的所有值的记录吗?
- 4. 选择MySQL查询不同sumof具有
- 5. 用于选择具有相同列值的那两列值的mysql查询
- 6. Mysql查询连接表,并选择只有非空行,并具有相同ID
- 7. 选择查询和相同的查询具有结果
- 8. jQuery选择所有具有相同类名的元素
- 9. 用于选择具有相同列的两个不同表的查询
- 10. 从更多表中选择具有相同结构的查询
- 11. MySQL查询按列名选择表名
- 12. 选择具有相同的类名
- 13. 选择具有相同的类名
- 14. MySQL选择具有最小值的所有子查询行
- 15. 选择所有具有一列的列具有不同的值
- 16. 从多个表中选择具有相同列名的数据
- 17. 刷新具有相同类名的多个选择列表
- 18. 如何选择所有具有相同名称的输入插入Mysql?
- 19. 如何选择具有相同列值的所有用户(php)
- 20. SQL查询更新多个表具有相同的列名
- 21. 查询具有相同的列名多个表
- 22. 从所有具有相同字段的表中选择
- 23. 对于所有具有相同查询的表,MySQL匹配来自另一个表的MySQL表列?
- 24. Mysql内部查询给出外部查询选定表名的所有列名
- 25. 选择具有相同列值的行
- 26. 选择具有相同的列值
- 27. 我想从两个具有相同列名的表中使用单个选择查询来选择行
- 28. 在mysql中选择具有相同id但具有不同列值的行
- 29. Mysql的选择不同,所有列
- 30. 不能仅从不同的表中选择具有相同列名的列
看起来对我来说设计很差。 – Jasper 2012-04-23 10:32:27
你想从三个表中检索数据吗? – 2012-04-23 10:33:29
我没有这种问题的经验,但这个http://dev.mysql.com/doc/refman/5.0/en/show-tables.html看起来像一个问题的答案 – 2012-04-23 10:36:00