在数据库里
这个查询
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但是,我希望检索如下,每两行合并为一行:
id stem prompt contentelementtypepropertykey valueA ValueB
1392 aaaa a1 assessed_category_A Asian Studies R01_LIKERT有人能建议一个办法吗?
发布于 2017-09-24 21:11:26
假设您只有两行,而rest其他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发布于 2017-09-24 21:23:01
您确定这是该查询的结果集吗?
使用您在contentelementtypepropertykey上使用的筛选器,应该是不可能的。
另外,不确定您是否知道,但是与_一起使用的“LIKE”是一个特殊的字符。例如:
like '%HI_%'将返回以下结果:
CHILL
HIM
HIMSELF
HIT
HITMAN基本上,只要是字符,任何字符都会被接受,而不是下划线。
https://stackoverflow.com/questions/46394739
复制相似问题