在数据库中,SQL:合并两个结果行成一个
- 每个testcontentelement有许多testcontentelementcetpropertyvalue
- 每个contentelementtypeproperty有许多testcontentelementcetpropertyvalue
这个查询
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
有人能提出一个方法来做到这一点?
使用此自加入。它应该工作。 –
选择tce.id,tce.stem,tce.prompt,tcep.contentelementtypepropertykey, cetp.value,tcee.value VALUEB从testcontentelement TCE INNER JOIN testcontentelementcetpropertyvalue TCEP ON tce.id = tcep.testcontentelementid INNER JOIN contentelementtypeproperty CETP ON tcep.contentelementtypepropertyid = cetp.id INNER JOIN testcontentelement tcee ON tce.id = tcee.id WHERE tcep.contentelementtypepropertykey像 '%cet_property_cati_msproperties_assessed_category%' 和cetp.value NOT LIKE '%HI_%' ORDER BY tce.id; –
它不工作吗? –