【问题标题】:select same column from many table从许多表中选择同一列
【发布时间】:2023-12-10 11:42:02
【问题描述】:

我怎样才能用 sql 和 php 得到这样的结果?

table 1 name = "T1"
column = "ip"
rows = "ip1,ip2,ip3,ip4"

,

table 2 name = "T2"
column = "ip"
rows = "ip5,ip6,ip7,ip8"

,

table 3 name = "T3"
column = "ip"
rows = "ip9,ip10"

所有表中的列名都相同

所有表都在同一个数据库中

我想从这三个表中得到这个输出:

"T1" => "ip1,ip2,ip3,ip4",
"T2" => "ip5,ip6,ip7,ip8",
"T3" => "ip9,ip10"

我可以用几个查询来做到这一点,但我只想用一个查询来做到这一点!

请帮忙

【问题讨论】:

  • 尝试寻找UNION
  • @sajjadrast 。 . .我对你真正想要的东西感到困惑。 SQL 表有行和列。您希望结果集中有哪些行和列?

标签: mysql sql select mysql-workbench


【解决方案1】:

如果列名和计数匹配,您可以像这样进行联合或联合

SELECT "Table1" as TableName, column1, column2, column3
FROM Table1 
UNION
SELECT "Table2" as TableName, column1, column2, column3
FROM Table2
UNION
SELECT "Table3" as TableName, column1, column2, column3
FROM Table3

而且你需要在你的 PHP 代码中有一些逻辑来按第一列对行进行分组,即。表名>

我希望这会有所帮助。

【讨论】: