多表关联查询的问题
表一:
表名称:Card
字段
card_no,che_no,card_kehu_no,card_jlrq,gongsiMc
表二:
表名称:work_pz_sj
字段
work_no,card_no
表三:
表名称:work_mx_sj
字段
work_no,wxxm_mc
想查询 表一.card_no=表二.card_no and 表二.work_no=表三.work_no
寻求一种高效的查询发放
[解决办法]
因为你还有一列是不重复的,用下面这个吧:
SELECT a.card_no ,
a.Card_jlrq ,
a.card_kehu_mc ,
a.card_kehu_shouji ,
a.gongsiNo ,
a.gongsiMc ,
MAX(b.work_no) work_no ,
b.xche_ssje ,
MAX(c.wxxm_mc) wxxm_mc
FROM Card a
LEFT JOIN work_pz_sj b ON a.card_no = b.card_no
LEFT JOIN work_mx_sj c ON b.work_no = c.work_no
WHERE datediff(month,[card_jlrq],getdate())=0 and a.gongsiNo = '02'
GROUP BY a.card_no ,
a.Card_jlrq ,
a.card_kehu_mc ,
a.card_kehu_shouji ,
a.gongsiNo ,
a.gongsiMc ,
b.xche_ssje
ORDER BY card_jlrq DESC