2013-07-10 48 views
-1

我有一个存取的查询,其在有条件合并两行中存取

Study_ID的TextData的形式NO返回数据sOption
290原因松弛NO
290原因松弛NO
290原因-成瘾
290原因-成瘾NO
290原因-习惯YES
290原因-习惯NO
290原因-胁迫YES
290原因-胁迫NO
290原因-其它NO
290原因-其它NO

291原因松弛YES
291原因松弛NO
291原因-成瘾NO
291原因-成瘾NO
291 Reason-习惯NO
291原因-习惯NO
291原因-胁迫NO
291原因-胁迫YES
291原因-其它NO
291的原因,没有其他

NO我想是有研究的ID的基础上,这个数据,如果对任何研究ID文本数据即振振有辞是相同的,soption是ATLEAST一次它应该表现出真正的真如果为假则没有

Study_ID的TextData sOption
290原因松弛NO
290原因-成瘾NO
290原因-习惯YES
2 90原因-胁迫YES
290原因-其它NO

291原因松弛YES
291原因-成瘾NO
291原因-习惯NO
291原因-胁迫YES
291原因 - 其他NO

注意如果两个选项的原因是“不”,那么选项保留为“无”中的其他选项设为“是”,行合并为一个单行

我怎样才能获得实现这一功能

+0

你能发布生成上述结果的查询吗? – mikeY

+0

SELECT Study_ID, '理性 - ' &Text_data AS的TextData,开关( Value_Data = CSTR(Reason_Id), 'YES', Value_Data <> CSTR(Reason_Id), 'NO' )AS sOption FROM PatientRelatesSmokingContinueReasons,(选择Text_data,Value_Data from mstMasterLookup where Table ='Smoking_Continue_Reason')AS tblReason order by Study_id – Pankaj

回答

0
SELECT StudyID, TextData, Max(SOption) as SOption2 
FROM MyTable 
GROUP BY StudyID, TextData 
ORDER BY StudyID, TextData 

当你GROUP BY,使用 “最大值(SOption)为SOption2”。由于Y大于N,因此对于同时具有“是”和“否”的记录,它将返回“是”。