我正在尝试使用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