SQL Server 2008:只有一个结果,加入3个表

时间:2016-06-27 15:14:02

标签: sql-server sql-server-2008 join jointable

我有以下数据库:

IMAGE UPDATED

enter image description here

    SELECT
        l.FECHA, nc.IdNumeroControlTrabajador AS ENLACE,
        t.RFC, t.Homonimia AS HOM,
        t.ApellidoPaterno, t.ApellidoMaterno,
        t.Nombre, l.IMPORTE,
        cp.NombreOrgano AS DEPENDENCIA, l.OBSERVACIONES,
        l.FECHA_INICIAL, l.FECHA_FINAL,
        MAX (cn.FechaIngresoGobierno)
    FROM
        CapturaFAIFAP.dbo.Laudos AS l
    LEFT JOIN FAIFAPparalelo.dbo.NumeroControlTrabajadores AS nc ON l.ID = nc.idTrabajador
    LEFT JOIN FAIFAPparalelo.dbo.ClaveNominalTrabajadores AS cn ON l.ID = cn.idTrabajador
    LEFT JOIN FAIFAPparalelo.dbo.Trabajadores AS t ON l.ID = t.idTrabajador
    LEFT JOIN FAIFAPparalelo.dbo.ClaveProgramatica AS cp ON cn.idClaveProgramatica = cp.idClaveProgramatica
    LEFT JOIN (
        SELECT
            cp.NombreOrgano,
            MAX (cnt.FechaIngresoGobierno) AS fecha
        FROM
            FAIFAPparalelo.dbo.ClaveNominalTrabajadores as cnt
        GROUP BY
            cp.NombreOrgano
    ) AS j ON (
        cp.NombreOrgano = j.NombreOrgano
        AND j.fecha = cn.FechaIngresoGobierno
    )
    GROUP BY
        l.FECHA, nc.IdNumeroControlTrabajador, t.RFC,
        t.Homonimia, t.ApellidoPaterno, t.ApellidoMaterno,
        t.Nombre,l.IMPORTE,cp.NombreOrgano,l.OBSERVACIONES,
        l.FECHA_INICIAL,l.FECHA_FINAL,cn.FechaIngresoGobierno

我需要统一查询。我在代码中放入了大量查询,并在图像中进行了类似的查询。如果我加入表ClaveNominal和ClaveProgramatica我有重复,因为有时人们有2个ClavesProgramaticas,由于我使用的系统,不删除或更新当前的注册表,只是放入非活动状态并添加一个新的活动,我可以'使条件成为活动因为,这表示此人仍然在这里工作。

0 个答案:

没有答案