第一个查询表如下:
SELECT * ,(co+co3) AS co4 
FROM (
SELECT userid,uname,sendarc_num,(SELECT VALUE FROM AAA_sysconfig  WHERE aid=729 AND groupid=5)AS a ,sendarc_num*(SELECT VALUE FROM AAA_sysconfig  WHERE aid=729 AND groupid=5) AS co 
,arcpub_num,(SELECT VALUE FROM AAA_sysconfig  WHERE aid=7230 AND groupid=5) AS co2,arcpub_num*(SELECT VALUE FROM AAA_sysconfig  WHERE aid=7230 AND groupid=5) AS co3
FROM AAA_member
)tb1第二个查询表如下:SELECT * FROM (
SELECT SUM(sign.point) AS POINT,COUNT(mb.mid) AS total, mb.*,user.userid,user.uname
FROM `AAA_sign_mb` mb
LEFT JOIN `AAA_sign_arc` SIGN ON sign.aid=mb.aid
LEFT JOIN `AAA_member` USER ON mb.mid=user.mid
GROUP BY mb.mid 
)tb2
这2个查询表单独查询都正常无误,且2个表都有一个共同的userid,我就想把两个表合成一张表显示出来,我是这样写的SELECT * FROM ( SELECT * ,(co+co3) AS co4 
FROM (
SELECT userid,uname,sendarc_num,(SELECT VALUE FROM AAA_sysconfig  WHERE aid=729 AND groupid=5)AS a ,sendarc_num*(SELECT VALUE FROM AAA_sysconfig  WHERE aid=729 AND groupid=5) AS co 
,arcpub_num,(SELECT VALUE FROM AAA_sysconfig  WHERE aid=7230 AND groupid=5) AS co2,arcpub_num*(SELECT VALUE FROM AAA_sysconfig  WHERE aid=7230 AND groupid=5) AS co3
FROM AAA_member
)tb1,

SELECT * FROM (
SELECT SUM(sign.point) AS POINT,COUNT(mb.mid) AS total, mb.*,user.userid,user.uname
FROM `AAA_sign_mb` mb
LEFT JOIN `AAA_sign_arc` SIGN ON sign.aid=mb.aid
LEFT JOIN `AAA_member` USER ON mb.mid=user.mid
GROUP BY mb.mid 
)tb2)tb3
WHERE tb1.userid=tb2.userid但是出错,不知道哪位能帮我看看该如何写这个语句,谢谢。

解决方案 »

  1.   

    SELECT * FROM ( SELECT * ,(co+co3) AS co4 
    FROM (
    SELECT userid,uname,sendarc_num,(SELECT VALUE FROM AAA_sysconfig  WHERE aid=729 AND groupid=5)AS a ,sendarc_num*(SELECT VALUE FROM AAA_sysconfig  WHERE aid=729 AND groupid=5) AS co 
    ,arcpub_num,(SELECT VALUE FROM AAA_sysconfig  WHERE aid=7230 AND groupid=5) AS co2,arcpub_num*(SELECT VALUE FROM AAA_sysconfig  WHERE aid=7230 AND groupid=5) AS co3
    FROM AAA_member
    )x )tb1,

    (SELECT * FROM (
    SELECT SUM(sign.point) AS POINT,COUNT(mb.mid) AS total, mb.*,user.userid,user.uname
    FROM `AAA_sign_mb` mb
    LEFT JOIN `AAA_sign_arc` SIGN ON sign.aid=mb.aid
    LEFT JOIN `AAA_member` USER ON mb.mid=user.mid
    GROUP BY mb.mid 
    ) y)tb2WHERE tb1.userid=tb2.userid
      

  2.   

    SELECT * ,(co+co3) AS co4 
    FROM (
    SELECT userid,uname,sendarc_num,(SELECT VALUE FROM AAA_sysconfig WHERE aid=729 AND groupid=5)AS a ,sendarc_num*(SELECT VALUE FROM AAA_sysconfig WHERE aid=729 AND groupid=5) AS co 
    ,arcpub_num,(SELECT VALUE FROM AAA_sysconfig WHERE aid=7230 AND groupid=5) AS co2,arcpub_num*(SELECT VALUE FROM AAA_sysconfig WHERE aid=7230 AND groupid=5) AS co3
    FROM AAA_member
    )tb1
    INNER JOIN 
    (SELECT * FROM (
    SELECT SUM(sign.point) AS POINT,COUNT(mb.mid) AS total, mb.*,user.userid,user.uname
    FROM `AAA_sign_mb` mb
    LEFT JOIN `AAA_sign_arc` SIGN ON sign.aid=mb.aid
    LEFT JOIN `AAA_member` USER ON mb.mid=user.mid
    GROUP BY mb.mid 
    ) TT) tb2
    ON TB1.userid=TB2.userid
      

  3.   

    SELECT * FROM (SELECT * ,(co+co3) AS co4 
    FROM (
    SELECT userid,uname,sendarc_num,(SELECT VALUE FROM AAA_sysconfig WHERE aid=729 AND groupid=5)AS a ,sendarc_num*(SELECT VALUE FROM AAA_sysconfig WHERE aid=729 AND groupid=5) AS co 
    ,arcpub_num,(SELECT VALUE FROM AAA_sysconfig WHERE aid=7230 AND groupid=5) AS co2,arcpub_num*(SELECT VALUE FROM AAA_sysconfig WHERE aid=7230 AND groupid=5) AS co3
    FROM AAA_member
    )x )tb1
    LEFT JOIN 
    (SELECT * FROM (
    SELECT SUM(sign.point) AS POINT,COUNT(mb.mid) AS total, mb.*,user.userid,user.uname
    FROM `AAA_sign_mb` mb
    LEFT JOIN `AAA_sign_arc` SIGN ON sign.aid=mb.aid
    LEFT JOIN `AAA_member` USER ON mb.mid=user.mid
    GROUP BY mb.mid 
    ) y)tb2 
    ON tb1.userid=tb2.userid;WHERE tb1.userid=tb2.userid
      

  4.   

    (SELECT VALUE FROM AAA_sysconfig WHERE aid=729 AND groupid=5)  为什么不把这句先提炼出来呢?
      

  5.   

    mysql 有视图吗? 可以用视图实现啊。