oracle中有一張讀者表(TableReader),裡面有一列保存讀者類型(ColReaderTypeIds),存的值是類似(1,2,3)這種,分別對應讀者類型表(TableReaderType)中的類型(ReaderTypeId),1,類型1;2,類型2;3,類型3。是三行數據!讀者可以有多個類型。TableReaderType中的數據不確定,所以不能用case when。我要在查詢TableReader表中的ColReaderTypeIds的時候,將該列顯示成名稱,而不是ID,應該怎麼做?意思就是,ColReaderTypeIds列存的是"1,2,3";顯示出來後變成"類型1,類型2,類型3"
類似下面這樣
select 讀者名稱,wm_sys.wm_concat (ReaderTypeId) from(
select 讀者名稱,ReaderTypeId from TableReader,TableReaderType where instr(TableReader.ColReaderTypeIds,ReaderTypeId)>0
) group by 讀者名稱