2013-07-10 47 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,因此對於同時具有「是」和「否」的記錄,它將返回「是」。