首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql17 -为't‘多次指定了列'id’

sql17 -为't‘多次指定了列'id’
EN

Stack Overflow用户
提问于 2020-05-16 21:07:56
回答 1查看 69关注 0票数 0

我在mssm 17中写了下面的查询。

代码语言:javascript
复制
select t.id,
max (case when seq=1 then label end) as label-1,
max (case when seq=2 then label end) as label-2,
max (case when seq=3 then label end) as label-3,
max (case when seq=4 then label end) as label-4,
max (case when seq=5 then label end) as label-5,
from (select t1.*,t2.*,
row-number () over (partition by t1.id order by t2.label) as seq
from table1 t1 inner join table2 t2 on t1.id=t2.sequence
) t
group by t.id

查询没有执行,错误是:为't‘多次指定了列'id’。我想将具有相似id的所有行合并到一行不同的列中。有人能帮我解决这个错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-16 21:11:14

您的查询有多个问题。这个特定的问题是idtable1table2中都存在。因此,只需在外部查询中选择所需的列。

此外,列别名不允许使用-。正确的函数名是row_number(),而不是row-number()

代码语言:javascript
复制
select t.id,
      max(case when seq=1 then label end) as label_1,
      max(case when seq=2 then label end) as label_2,
      max(case when seq=3 then label end) as label_3,
      max(case when seq=4 then label end) as label_4,
      max(case when seq=5 then label end) as label_5,
from (select t1.id, t2.label,
             row_number() over (partition by t1.id order by t2.label) as seq
      from table1 t1 inner join 
           table2 t2
           on t1.id = t2.sequence
      ) t
group by t.id
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61837266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档