【问题标题】:SQL Query - how to have half-split column within the same rowSQL Query - 如何在同一行中有半拆分列
【发布时间】:2018-02-27 16:19:54
【问题描述】:

我想问是否可以进行查询并得到这样的结果?更困难的部分是在同一行中有一个半拆分列。

M 代表男性,F 代表女性,代表那些想知道的人。

Teacher Class  Level   Name            7      8       9       10     11 
                                      M F   M   F   M   F   M   F   M   F
Mr A    Class  1       Ant            0 0   3   9   0   1   0   0   0   0
Ms B    Class  1       Bumble Bee     0 0   11  5   1   0   0   0   0   0
Mrs C   Class  2       Cat            0 0   0   1   7   1   0   0   0   0
Mdm D   Class  3       Dog            0 0   0   0   0   0   7   0   1   0

我附上了同一张表,但在 excel 中,所以更容易看到。如果这可以在纯 sql 查询中完成,那就太好了。 提前感谢那些以任何方式提供帮助的人。

【问题讨论】:

  • 这是一个演示问题,与 SQL 无关。在你的程序中处理它。
  • 请显示您的数据库表,或显示您目前尝试的内容
  • Mysql 存储关系,而不是 Excel 表。关系中没有合并列。

标签: mysql sql


【解决方案1】:

仅使用 SQL 可以获得的最接近的结果是返回一个带有以下列标题的表:

Teacher Name, Class Level, Name, 7_M, 7_F,8_M, 8_F,9_M, 9_F,10_M, 10_F,11_M, 11_F.

现在,要将那些 X_M 和 X_F 列显示为“半拆分”,您必须在 SQL 之外执行此操作(编辑:由于 Radim 在他的评论中提到的原因)。

【讨论】:

    猜你喜欢
    • 2020-09-03
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多