首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL:将两个结果行合并为一个

SQL:将两个结果行合并为一个
EN

Stack Overflow用户
提问于 2017-09-24 20:53:08
回答 2查看 60关注 0票数 0

在数据库里

  • 每个testcontent元素都有许多testcontentelementcetpropertyvalue
  • 每个内容元素类型属性都有许多testcontentelementcetpropertyvalue

这个查询

代码语言:javascript
复制
select tce.id, tce.stem, tce.prompt, tcep.contentelementtypepropertykey, 
cetp.value from testcontentelement tce 
  INNER JOIN testcontentelementcetpropertyvalue tcep
    ON tce.id = tcep.testcontentelementid
  INNER JOIN contentelementtypeproperty cetp
    ON tcep.contentelementtypepropertyid = cetp.id 
  WHERE tcep.contentelementtypepropertykey like 
'%cet_property_cati_msproperties_assessed_category%'and cetp.value NOT LIKE 
'%HI_%' 
  ORDER BY tce.id;

呈现此结果:

代码语言:javascript
复制
  id    stem    prompt  contentelementtypepropertykey   value
1392    aaaa    a1      assessed_category_A             Asian Studies
1392    aaaa    a1      assessed_category_B             R01_LIKERT
1397    cccc    c1      assessed_category_B             R01_LIKERT
1397    cccc    c1      assessed_category_A             Biology
1402    eeee    e1      assessed_category_A             Chemistry
1402    eeee    e1      assessed_category_B             R01_LIKERT

但是,我希望检索如下,每两行合并为一行:

代码语言:javascript
复制
  id    stem    prompt  contentelementtypepropertykey   valueA          ValueB
1392    aaaa    a1      assessed_category_A             Asian Studies    R01_LIKERT

有人能建议一个办法吗?

EN

回答 2

Stack Overflow用户

发布于 2017-09-24 21:11:26

假设您只有两行,而rest其他cols将具有相同的值,

代码语言:javascript
复制
select tce.id, 
       max(tce.stem), 
       max(tce.prompt), 
       max(tcep.contentelementtypepropertykey), 
       max(cetp.value) valueA, 
       min(cetp.value) valueB 
from testcontentelement tce 
***All your conditions***
group by id
票数 0
EN

Stack Overflow用户

发布于 2017-09-24 21:23:01

您确定这是该查询的结果集吗?

使用您在contentelementtypepropertykey上使用的筛选器,应该是不可能的。

另外,不确定您是否知道,但是与_一起使用的“LIKE”是一个特殊的字符。例如:

代码语言:javascript
复制
like '%HI_%'

将返回以下结果:

代码语言:javascript
复制
CHILL
HIM
HIMSELF
HIT
HITMAN

基本上,只要是字符,任何字符都会被接受,而不是下划线。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46394739

复制
相关文章

相似问题

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