求助,oracle多行数据合并成一行

求助,oracle多行数据合并成一行,第1张

我现在身边没有 数据库环境 这个是我以前写的SQL
你看一下,修改一下就可以了

Oracle分组查询用逗号分隔结果SQL语句

表一:
学号 姓名
1 张三
2 李四
3 王五
。。。。
表二:
学号 选修课程
1 语文
1 数学
2 英语
2 语文
3 数学
3 英语
3 历史
。。。。。
要求查处结果
学好 姓名 选修课程所有课程名称以,隔开
1 张三 语文,数学
2 李四 英语,语文
3 王五 数学,英语,历史
;
create table a_lyh_test
as
select 1 as "学号" , '张三' as "姓名" from dual
union all
select 2 as "学号" , '李四' as "姓名" from dual
union all
select 3 as "学号" , '王五' as "姓名" from dual
;
create table b_lyh_test
as
select 1 as "学号" , '语文' as "选修课程" from dual
union all
select 1 as "学号" , '数学' as "选修课程" from dual
union all
select 2 as "学号" , '英语' as "选修课程" from dual
union all
select 2 as "学号" , '语文' as "选修课程" from dual
union all
select 3 as "学号" , '数学' as "选修课程" from dual
union all
select 3 as "学号" , '英语' as "选修课程" from dual
union all
select 3 as "学号" , '历史' as "选修课程" from dual
;
select f"学号"
,f"姓名"
,ltrim(max(sys_connect_by_path(f"选修课程",','))
keep (dense_rank last order by fpnum),',') as "选修课程"
from
(
select t"学号"
,t"姓名"
,t"选修课程"
,row_number() over(partition by t"学号" order by t"姓名") as pnum
,row_number() over(partition by t"学号" order by t"姓名")-1 as lnum
from
(
select a"学号",a"姓名",b"选修课程"
from a_lyh_test a
,b_lyh_test b
where a"学号" = b"学号"
) t
) f
group by f"学号",f"姓名"
connect by flnum = prior fpnum and f"学号" = prior f"学号"
start with fpnum = 1;

接口
port;connector;hickey;hicky更多释义>>
[网络短语]
接口
Interface;USB;HDMI
视频接口
Video
Out;Video
Interface;VIU
M42接口
M42
lens
mount

在第几行用英语怎么说
这个龚好理解,我们说的“在第三行”其实缺个字,加上它你就明白该选哪个了。其实应该是说“在第三行里”怎样怎样,而不是“在第三行上”怎样怎样,呵呵,因此就是IN了。当然这不一定是放之四海皆准的道理,只是用在这儿方便你记忆罢了,呵呵。
都行 用英语怎么说
what ever!

或者

both of them are right
很多说法了

看场合了
什么都行用英语怎么说
什么都行就是Whatever,口语里就是这么表达的。

第几列第几行的英文:What row is the column

某位同学坐在第四列第五行的英文:A classmate was sitting in the fourth row, the fifth row

column 读法 英 ['kɒləm]     美 ['kɑːləm]    

n 栏;专栏;列;圆柱;柱;柱形物

例句

1、The temple is supported by massive columns
此庙由粗大的柱子支撑。

2、The column is surmounted by a statue
柱顶上树立了一尊雕像。

扩展资料

词语用法

column的基本意思是“柱,圆柱”,引申可指任何在形状、外表等方面与柱相似的物体,还可指“纵队,直行”,作此解时是集合名词,常用于单数形式。

词汇搭配

1、packed column 填料塔

2、distillation column 分裂蒸馏塔

3、water column 水柱高度

4、extraction column 萃取柱

5、fractional column 分馏塔 

同根词

词根: column

adjcolumned 圆柱状的;立有圆柱的

ncolumnist 专栏作家

#include<stdioh>
int main()
{
int n,i,j;
scanf("%d",&n);

     for(j=0;j<n;j++){
      char str[100];
        gets(str);
for(i=0;;i++)
   if(str[i]=='\0')
    break;
if(i > 1) 
{
   if(str[i-1]=='y'||str[i-1]=='s'||str[i-1]=='x'||str[i-1]=='o' || (str[i-1] == 'h' && (str[i-2]=='c' || str[i-2] == 's')))
           {
         str[i]='e';
         str[i+1]='s';
         str[i+2]='\0';//要加结束符
    puts(str);
           }
           else 
          {
             str[i]='s';
             str[i+1]='\0';
     puts(str);
  }
        }else if(i==1)
        {
            if(str[i-1]=='y'||str[i-1]=='s'||str[i-1]=='x'||str[i-1]=='o')
            {
                str[i] = 'e';
                str[i+1] = 's';
                str[i+2] = '\0';
             }else
             {
                str[i] = 's';
                str[i+1] = '\0';
             }
             puts(str);
         }
}
//或者下面的
#include<stdioh>
int main()
{
    int n,i,j;
    scanf("%d",&n);
     for(j=0;j<n;j++){
      char str[100];
        gets(str);
for(i=0;;i++)
   if(str[i]=='\0')
    break;
if(i > 0) 
{
   if(str[i-1]=='y'||str[i-1]=='s'||str[i-1]=='x'||str[i-1]=='o')|| (i > 1 && str[i-1] == 'h' && (str[i-2]=='c' || str[i-2] == 's')))
           {
         str[i]='e';
         str[i+1]='s';
         str[i+2]='\0';//要加结束符
    puts(str);
           }
           else 
          {
             str[i]='s';
             str[i+1]='\0';
     puts(str);
  }
      }
}

其实倒数第二,倒数第三都有相应的单词,你的句子里不要用but,应该用其他的表示接近最后一行的单词,
倒数第二行:the penult(倒数第二个) line 或者 the next line to last
倒数第三行 :the antepenultimate(倒数第三个的)line 或者 the third line from the last


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10491638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存