首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

多表关联查询的有关问题

2014-01-22 
多表关联查询的问题表一:表名称:Card字段card_no,che_no,card_kehu_no,card_jlrq,gongsiMc表二:表名称:wor

多表关联查询的问题
表一:
表名称: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

热点排行