Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL表:如何显示从另一个SQL表构建的表?_Php_Html_Mysql_Sql - Fatal编程技术网

Php SQL表:如何显示从另一个SQL表构建的表?

Php SQL表:如何显示从另一个SQL表构建的表?,php,html,mysql,sql,Php,Html,Mysql,Sql,我的任务是在屏幕上显示一个由SQL和PHP构建的表,但是SQL表的结构不是我所需要的 在源表中: ╔═════════════════════════════════╗ ║ User Date Attr Val ║ ╠═════════════════════════════════╣ ║ alex 1.2.3 A 523 ║ ║ alex 1.2.3 b 5 ║ ║ alex 1.2.3

我的任务是在屏幕上显示一个由SQL和PHP构建的表,但是SQL表的结构不是我所需要的

在源表中:

╔═════════════════════════════════╗
║   User    Date     Attr    Val  ║
╠═════════════════════════════════╣
║   alex    1.2.3      A      523 ║
║   alex    1.2.3      b      5   ║
║   alex    1.2.3      c      12  ║
║   mark    2.3.4      A      244 ║
║   mark    2.3.4      b      0   ║
║   mark    2.3.4      c      88  ║
╚═════════════════════════════════╝
每个用户在同一日期出现3次,唯一更改的是attr和val,但我需要显示的表是每个用户的,如下所示:

对于-alex:

╔═════════════════════╗
║ Date   A    B    C  ║
╠═════════════════════╣
║ 1.2.3  523   5   12 ║
╚═════════════════════╝
(每个日期仅一行)

我的任务是构建一个系统,该系统将自动从数据库的源SQL表中获取数据,并创建最新的表。 我自己构建了表,但不知道如何自动将数据插入其中


谢谢

可以将内联选择与相应的where子句一起使用。下面的代码是为mssql服务器编写的,但它也可能在mysql中工作(我很久没有为mysql编写任何东西了)


您也可以使用与此类似的联接。

您的问题不清楚。您的目标是从表中选择记录并按图所示显示,还是插入记录?每个属性的每个日期是否始终只有一行?最终的表将始终向用户显示其每天的A、B和C值。今天,他看到了他的A、B、C详细信息,下一行将包含第二天和他的数据。我的目标是只从其他服务器提供给我的表中选择记录,并将它们显示在我网站的第二个表中。我收到的表格看起来像我问题中的第一张表格。第一个表是SQL表,第二个表是HTML表,我必须在网站上显示。我使用MYSQL。
SELECT User, Date (SELECT Val FROM SourceTable AS ST1 WHERE ST1.Attr='A' AND ST1.User = SourceTable.User AND ST1.Date = SourceTable.Date) AS A, (SELECT Val FROM SourceTable AS ST2 WHERE Attr='B' AND ST2.User = SourceTable.User AND ST2.Date = SourceTable.Date) AS B, (SELECT Val FROM SourceTable AS ST3 WHERE Attr='C' AND ST3.User = SourceTable.User AND ST3.Date = SourceTable.Date) AS C FROM SourceTable