【问题标题】:SQL QUERY - ROWS TO COLUMN AND UPDATESQL 查询 - 要列和更新的行
【发布时间】:2020-10-08 15:03:32
【问题描述】:

大家好,

1/ 我想做一个 sql 查询,将结果从行转换为列,如图所示。有可能吗?

2/ 如何用第一个表更新第二个表?

【问题讨论】:

  • 这能回答你的问题吗? MySQL - turn table into different table
  • 如果您有静态列计数,请查看重复项,如果计数是动态的,您必须为此使用 INFORMATION SCHEMA.columns 并对其进行编程
  • 旋转你的显示器

标签: mysql sql phpmyadmin


【解决方案1】:

您可以在查询中使用

select 'EH545WL' as name, EH545WL as value from car union select 'FJ281TJ' as name, FJ281TJ as value from car;

如果你使用这个查询,你可以得到你想要的结果。 谢谢

【讨论】:

    【解决方案2】:

    您可以通过多种方式转换此数据。

    创建表:

    CREATE TABLE yourTable([EH545WL] varchar(10), [FJ281TJ] varchar(10));
    
    INSERT INTO yourTable
    VALUES
        (0,0);
    

    反透视表:

    SELECT ID,Value
    FROM yourTable
    UNPIVOT (value for ID in ([EH545WL],[FJ281TJ])) up
    

    【讨论】:

    • 好的,非常感谢!还有一个问题是如何用第一个表更新第二个表?
    • @JulieTarnaud 您可以做的一件事是在获得所需的输出后,删除第一个表。如果它对您有用,请投票/接受答案。
    • 我不明白你的意思。因为我需要第一个表来更新第二个,但我不知道如何实现更新
    • @JulieTarnaud 请查看更新后的 sql 代码,该代码可让您在 unpivot 模式下创建表和更新同一个表。
    猜你喜欢
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2013-08-08
    • 2015-05-20
    相关资源
    最近更新 更多