在数据库中,
此查询
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;
呈现此结果:
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
但是我希望按照以下方式检索每个TWO行合并为一行:
id stem prompt contentelementtypepropertykey valueA ValueB
1392 aaaa a1 assessed_category_A Asian Studies R01_LIKERT
有人可以建议一种方法吗?
答案 0 :(得分:0)
假设你只有两行,其他的cols将具有相同的值,
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
答案 1 :(得分:0)
您确定这是该查询的结果集吗?
使用您在contentelementtypepropertykey
上使用的过滤器,这是不可能的。
此外,不确定您是否知道,但与LIKE
一起使用时,“_”是一个特殊字符。
e.g。
like '%HI_%'
会返回以下结果:
CHILL
HIM
HIMSELF
HIT
HITMAN
基本上,任何角色都被接受而不是下划线,只要它是一个角色。