V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
chunjie
V2EX  ›  问与答

请问怎么从 A 表查出 B 表?

  •  
  •   chunjie · Jul 9, 2018 · 2115 views
    This topic created in 2849 days ago, the information mentioned may be changed or developed.
    A 表:
    name subject score
    张三 语文 80
    张三 数学 92
    张三 英语 95
    李四 语文 78
    李四 数学 85
    李四 英语 93
    B 表:
    name 语文 数学 英语
    张三 80 92 95
    李四 78 85 93
    9 replies    2018-07-18 16:30:16 +08:00
    F281M6Dh8DXpD1g2
        1
    F281M6Dh8DXpD1g2  
       Jul 9, 2018
    作业自己做
    PerFectTime
        2
    PerFectTime  
       Jul 9, 2018
    请自行完成作业
    hinate
        3
    hinate  
       Jul 9, 2018
    列传行,请自行搜索。
    chunjie
        4
    chunjie  
    OP
       Jul 9, 2018
    已经知道思路了,谢谢各位
    daydaydayup
        5
    daydaydayup  
       Jul 9, 2018
    select b.* from a,b where a.name=b.name
    real3cho
        6
    real3cho  
       Jul 9, 2018
    贴吧已经满足不了学生党了?都问到 V 站来了
    laolinn
        7
    laolinn  
       Jul 9, 2018 via iPhone
    五楼正解
    joeyFuck
        8
    joeyFuck  
       Jul 10, 2018   ❤️ 1
    select name ,
    MAX(CASE WHEN subject ='语文' THEN score ELSE 0 END) as '语文',
    MAX(CASE WHEN subject ='数学' THEN score ELSE 0 END) as '数学',
    ...
    from A
    group by name
    chunjie
        9
    chunjie  
    OP
       Jul 18, 2018
    select name, max(case subject when '语文' then score else 0 end) 语文, max(case subject when '数学' then score else 0 end) 数学, max(case subject when '英语' then score else 0 end) 英语 from a group by name;
    mysql 列传行,我已经找到答案了,谢谢大家。
    ps:这不是作业,是小弟近来面试碰到的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3535 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 12:07 · PVG 20:07 · LAX 05:07 · JFK 08:07
    ♥ Do have faith in what you're doing.