首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL笛卡儿类型联接

SQL笛卡儿类型联接
EN

Stack Overflow用户
提问于 2018-02-21 17:02:55
回答 2查看 57关注 0票数 0

我有两个表(这个例子简化了),我想以一种特定的方式加入它们。

  • 表1 ( ae )有学科编号,ae术语
  • 表2 ( mh )有主题号,mh项

这里的构造有助于

代码语言:javascript
复制
INSERT INTO ae VALUES ('0001-0012','DRY EYE (12 OCT 2017)');
INSERT INTO ae VALUES  ('0001-0012', 'DEPRESSION (7 OCT 2017)');
INSERT INTO ae VALUES ('0001-0013','SKIN ATROPHY, LEFT UPPER ARM (4 OCT 2017 )');


INSERT INTO mh VALUES ('0001-0012', 'DIABETES MELLITUS (UN JUL 2007)');
INSERT INTO mh VALUES ('0001-0012', 'GASTRO-ESOPHAGEAL REFLUX INTERMITENT GR1 (18 AUG 2017)');
INSERT INTO mh VALUES ('0001-0012', 'ESOPHAGITIS GR 1 (18 AUG 2017)');
INSERT INTO mh VALUES ('0001-0012', 'DIARRHEA INITERMITTENT GR2 (5 JUL 2017 )');
INSERT INTO mh VALUES ('0001-0012', 'FATIGUE INTERMITTENT GR1 (18 AUG 2017)');
INSERT INTO mh VALUES ('0001-0013', 'VOMITING, INTERMITTENT GR1 (6 JUL 2017 )');

我希望我的输出是这样的:

有什么帮助吗?正如你所看到的,这是我所需要的一种极小的连接!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-21 17:10:44

您可以使用row_number()full join

代码语言:javascript
复制
select coalesce(ae.col1, mh.col1) as col1, ae.col2, mh.col2
from (select ae.*, row_number() over (partition by col1 order by col1) as seqnum
      from ae
     ) ae full join
     (select mh.*, row_number() over (partition by col1 order by col1) as seqnum
      from mh
     ) mh
     on mh.col1 = ae.col1 and mh.seqnum = ae.seqnum
order by coalesce(ae.col1, mh.col1), seqnum;
票数 1
EN

Stack Overflow用户

发布于 2018-02-21 17:30:16

这是到目前为止我更新的代码,它现在给我正确的顺序编辑,只是在代码末尾添加了DESC,以给出结果。

代码语言:javascript
复制
select coalesce(ae.subject, mh.subject) as subject, ae.aeterms, mh.mhterms
from (select ae.*, row_number() over (partition by subject order by subject) 
as seqnum
from ae) ae full join
(select mh.*, row_number() over (partition by subject order by subject) as 
seqnum from mh) mh
on mh.subject = ae.subject and mh.seqnum = ae.seqnum
order by coalesce(ae.subject, mh.subject), ae.seqnum Desc;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48911535

复制
相关文章

相似问题

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