2015-10-06 100 views
0

我試圖執行以下查詢:DB2查詢返回0記錄

select * from trgdms.src_stm where trim(src_stm_code) in (select concat (concat('''', trim(replace(processed_src_sys_cd,',',''','''))),'''') from trgdms.batch_run_log where src_stm_cd_or_hub_cd='CTR' and file_process_dt='2015-06-19' and batch_id=42); 

表trgdms.src_stm的src_stm_code列有像T19,T68,T73等值當我孤獨我做運行內部查詢得到正確的結果:

select concat (concat('''', trim(replace(processed_src_sys_cd,',',''','''))),'''') from trgdms.batch_run_log where src_stm_cd_or_hub_cd='CTR' and file_process_dt='2015-06-19' and batch_id=42 

結果: 'T19', 'T68', 'T73'

如果有人使用DB2類似的東西想知道?

回答

0

從內部查詢中刪除concat部分。當連接值時,生成的值列表將被視爲字符串,並且查詢不會返回任何結果。

select * from trgdms.src_stm where trim(src_stm_code) 
in (select trim(replace(processed_src_sys_cd,',',''',''')) from trgdms.batch_run_log 
    where src_stm_cd_or_hub_cd='CTR' and file_process_dt='2015-06-19' and batch_id=42); 
+0

我試過查詢,因爲上面提到的yoiu ......但它沒有奏效。 –

+0

顯示來自表格的樣本數據將有助於 –

+0

請顯示來自該數據的樣本輸入數據和預期結果 – WarrenT