代码之家  ›  专栏  ›  技术社区  ›  DonutReply

在MySQL的UNION Select查询中选择表名作为列

  •  4
  • DonutReply  · 技术社区  · 14 年前

    我希望能够在union select查询中选择一个表的名称(一行来自一列)。像这样的:

    SELECT [TABLENAME], text from table1
    UNION
    SELECT [TABLENAME], text from table2
    ORDER BY date
    

    有人知道这是否可能吗? 谢谢

    2 回复  |  直到 14 年前
        1
  •  9
  •   Sachin Shanbhag    14 年前

    您已经在查询该表本身了。例:表1和表2

    所以基本上可以将表名输出为字符串本身-

    SELECT 'table1' as tableName, text from table1
    UNION
    SELECT 'table2' as tableName, text from table2
    ORDER BY date
    
        2
  •  0
  •   Colin Pickard    14 年前

    既然无论如何都必须在sql中键入表名,为什么不在select中也将其作为字符串包含呢?即

    SELECT 'table1' as tablename, text from table1
    UNION
    SELECT 'table2' as tablename, text from table2
    ORDER BY date