【问题标题】:How to merge multiple rows into one in SQLSQL中如何将多行合并为一行
【发布时间】:2021-08-19 01:44:57
【问题描述】:

如何将多个响应 ID 合并为 1 行,以便稍后与另一个表保持连接?

数据:

[

目标:

【问题讨论】:

  • 不确定为什么您认为以这种方式合并记录会影响连接表的能力?以您建议的方式对数据进行非规范化通常是个坏主意

标签: sql amazon-web-services amazon-redshift dbvisualizer


【解决方案1】:

通常有两种策略:加入或聚合。

我在这里包括第一个选项。例如,您可以这样做:

select
  a.caseno,
  a.q_id, a.question_name, a.question_response,
  b.q_id, b.question_name, b.question_response,
  c.q_id, c.question_name, c.question_response,
  d.q_id, d.question_name, d.question_response
from t a
join t b on b.caseno = a.caseno and b.q_id = 'ID2'
join t c on c.caseno = a.caseno and c.q_id = 'ID3'
join t d on d.caseno = a.caseno and d.q_id = 'ID4'
where a.q_id = 'ID1'

【讨论】:

    猜你喜欢
    • 2019-07-14
    • 1970-01-01
    • 2011-12-21
    • 2018-04-22
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多