【问题标题】:Get values to table according to 2 row values in multiple columns根据多列中的 2 行值获取表中的值
【发布时间】:2019-02-04 18:13:54
【问题描述】:

我在数据库中有这样的表:

 name    date    year
 John    1/5/15  2015
 Maria   3/3/15  2015
 John    7/3/16  2016
 Steve   5/2/16  2016
 Steve   9/7/17  2017
 John    9/1/17  2017

想要得到这样的表格:

Name    2015    2016    2017
John    1/5/15  7/3/16  9/1/17
Maria   3/3/15
Steve           5/2/16  9/7/17

我试过这个查询:

$sql = "SELECT DISTINCT(name),date,year FROM table ORDER BY name ASC";
$query = $conn->query($sql);

现在我不知道使用什么循环来获取第二个表中的数据。

我用这段代码试过

while($row = $query->fetch_assoc()) {
<td>" . $row["prezime_ime"] . "</td>
<td>" . ($row["date"]) . "</td>

现在我被困在这里了。 我是 PHP 新手,所以请任何人帮助我。 非常感谢

【问题讨论】:

  • 我猜你每年只有一个名字条目?你知道年份吗?
  • 是的。每年只有一个名字条目,是的,我知道这些年

标签: php mysql loops get multiple-columns


【解决方案1】:

你可以分组

SELECT name,
       MAX( CASE WHEN YEAR(date) = 2015
                 THEN date
            END) as 2015,
       MAX( CASE WHEN YEAR(date) = 2016
                 THEN date
            END) as 2016,
       MAX( CASE WHEN YEAR(date) = 2017
                 THEN date
            END) as 2017
FROM yourTable
GROUP BY name

【讨论】:

  • 好的,我把那个代码放到我的查询中,但是如何把那个数据放到表格单元格中
  • 在数据库上运行查询,你会得到你对你的问题要求的确切结果。
猜你喜欢
  • 2016-09-09
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
相关资源
最近更新 更多