代码:
SELECT
u.id,
u.loginName NAME,
u.memberType type,
u.fanDian AS fan,
(
SELECT
ifnull(sum(a.money), 0)
FROM
emep_Account a
WHERE
a.type IN (2,8)
AND MATCH(a.parents) AGAINST (u.id)
) fanDian
FROM
emep_user u
WHERE
u.id = 80182
OR u.parentId = 80182以上代码如果把MATCH(a.parents) AGAINST (u.id) 里面的u.id换成 ‘80182’ 就可以执行,否则报错[Err] 1210 - Incorrect arguments to AGAINST
SELECT
u.id,
u.loginName NAME,
u.memberType type,
u.fanDian AS fan,
(
SELECT
ifnull(sum(a.money), 0)
FROM
emep_Account a
WHERE
a.type IN (2,8)
AND MATCH(a.parents) AGAINST (u.id)
) fanDian
FROM
emep_user u
WHERE
u.id = 80182
OR u.parentId = 80182以上代码如果把MATCH(a.parents) AGAINST (u.id) 里面的u.id换成 ‘80182’ 就可以执行,否则报错[Err] 1210 - Incorrect arguments to AGAINST
我这个以前是用的like 可是like查询好慢,所以想换用这个。还有其他更好方式吗???
create function f_test(id text)
returns decimal(18,2)
return(
SELECT
IFNULL(SUM(a.money), 0)
FROM
emep_Account a
WHERE
a.type IN (2 , 8)
AND MATCH (a.parents) AGAINST (id)
);SELECT
u.id,
u.loginName NAME,
u.memberType type,
u.fanDian AS fan,
f_test(u.id) fanDian
FROM
emep_user u
WHERE
u.id = 80182 OR u.parentId = 80182