加入多个表格并显示当前表格
你应该尝试:
select 'mytable1', column1, column2
union
select 'mytable2', column1, column2
union
select 'mytable3', column1, column2
如果我有多余的列没有出现在每张表 – fir3x 2011-03-08 15:22:03
你想让它们显示在“连接”表中?如果你知道他们的名字,你可以把''放在select子句中 – 2011-03-08 16:05:55
您可以使用MySQL的别名功能
这样
select table1.col1 as table1_col1, table2.col1 as table2_col1...
没有你的意思是这样的吗?
SELECT t1.*, "t1" as tablename FROM t1
UNION
SELECT t2.*, "t2" as tablename FROM t2
其中t1
和t2
是你的表
顺便说一句:这不是很正确的数据存储在这种方式。如果您需要在单个查询中合并来自两个表的数据,则应该考虑将表中的数据合并为一个新列(并且可能将其添加到键中)。例如,你的表是
CREATE TABLE american_cars(id INT, company TEXT, model TEXT)
CREATE TABLE european_cars(id INT, company TEXT, model TEXT)
,那么你应该把它合并为
CREATE TABLE cars(id INT, company TEXT, model TEXT, region TEXT)
或类似的东西。
我会尝试组合这些表,但是从长远来看,对于带索引的单个表,数据集可能会变大 – fir3x 2011-03-08 16:28:41
没有代码?这很难帮助你。 – soasme 2011-03-08 14:46:58