我正在嘗試使用REPLACE替換逗號的空格。MySQL:使用REPLACE作爲IN語句的一部分
如果我嘗試SELECT REPLACE('1 2 3 4 5 6 7 86 9','',',');然後我得到我需要的字符串。
不過,如果我嘗試以此爲IN語句的一部分,我只能得到返回的第一個匹配(即,1)
這裏是我的整個查詢:在記錄GLREPFUNCJOB01
SELECT aa.category_id,
aa.yyyymm,
aa.cat_balance_ytd
FROM gl_view_cat_balances AS aa
WHERE aa.gl_id = '/JOB//9'
AND aa.fin_years_ago = 0
**AND aa.category_id IN (REPLACE((SELECT detail_2
FROM gl_options
WHERE option_id = 'GLREPFUNCJOB01'),' ', ', '))**
AND aa.yyyymm = (SELECT max(bb.yyyymm)
FROM gl_rep_cat_bals as bb
WHERE bb.gl_unique_id = aa.gl_unique_id
AND bb.category_id = aa.category_id
AND bb.yyyymm <= 200910);
場detail_2包含'1 2 3 4 5 6 7 86 9'
如果任何人有一些有用的提示,我怎樣才能得到逗號字符串,並可以在IN中使用它,我很想聽聽他們。
>在記錄字段detail_2 GLREPFUNCJOB01包含 '1 2 3 4 5 6 7 86 9' 所以IN語句給你1,2,3,4,5,6,7,86,9 和AA .category_id應該等於那個字符串? – Tom 2009-12-07 04:11:52