在mysql中我想做这样的查询功能根据不同的情况查询不同的表:
select *
from TMEMBER_BASIC t1
IF(t1.MEM_TYPE=0,
LEFT JOIN
(SELECT COUNT(0) AS RECOMMENTCNT,MEMBER_ID
FROM TPERSON_RECOMM
GROUP BY MEMBER_ID
)T7
ON T7.MEMBER_ID=t1.MEMBER_ID,
LEFT JOIN
(SELECT COUNT(0) AS RECOMMENTCNT,tjob.MEMBER_ID as MEMBER_ID
FROM tperson_recomm,tjob
WHERE tjob.JOB_SEQ=tperson_recomm.JOB_SEQ
GROUP BY tjob.JOB_SEQ
)T10 ON T10.MEMBER_ID=t1.MEMBER_ID
)
但是报错,请问应该怎么写
select *
from TMEMBER_BASIC t1
IF(t1.MEM_TYPE=0,
LEFT JOIN
(SELECT COUNT(0) AS RECOMMENTCNT,MEMBER_ID
FROM TPERSON_RECOMM
GROUP BY MEMBER_ID
)T7
ON T7.MEMBER_ID=t1.MEMBER_ID,
LEFT JOIN
(SELECT COUNT(0) AS RECOMMENTCNT,tjob.MEMBER_ID as MEMBER_ID
FROM tperson_recomm,tjob
WHERE tjob.JOB_SEQ=tperson_recomm.JOB_SEQ
GROUP BY tjob.JOB_SEQ
)T10 ON T10.MEMBER_ID=t1.MEMBER_ID
)
但是报错,请问应该怎么写
from TMEMBER_BASIC t1 LEFT JOIN
(SELECT COUNT(0) AS RECOMMENTCNT,MEMBER_ID
FROM TPERSON_RECOMM
GROUP BY MEMBER_ID
)T7
ON T7.MEMBER_ID=t1.MEMBER_ID
where t1.MEM_TYPE=0
union allselect *
from TMEMBER_BASIC t1 (SELECT COUNT(0) AS RECOMMENTCNT,tjob.MEMBER_ID as MEMBER_ID
FROM tperson_recomm,tjob
WHERE tjob.JOB_SEQ=tperson_recomm.JOB_SEQ
GROUP BY tjob.JOB_SEQ
)T10 ON T10.MEMBER_ID=t1.MEMBER_ID
where t1.MEM_TYPE<>0