我正在使用 SQL SERVER 2008 R2。
我的查询连接是这样的:
SELECT dbo.TARIF_COURANT.CODE_TARIF,
dbo.TARIF_COURANT.NO_CLIENT,dbo.TARIF_COURANT.ZONE, dbo.TARIF_COURANT.UNITE,
dbo.TARIF_COURANT.LIBELLE, dbo.TARIF_COURANT.TR_DEB, dbo.TARIF_COURANT.TR_FIN,
dbo.TARIF_COURANT.MONTANT,dbo.T_TARIF_ZONE.LIBELLE AS ZONELIB,
dbo.T_TARIF_ZONE.DEPARTEMENT, dbo.T_TARIF_ZONE.DELAI
FROM dbo.TARIF_COURANT LEFT OUTER JOIN dbo.T_TARIF_ZONE ON
dbo.TARIF_COURANT.ZONE = dbo.T_TARIF_ZONE.NO_ID
WHERE (dbo.TARIF_COURANT.TEMPO = 2) AND
(dbo.TARIF_COURANT.ZONE IN (1, 2, 3, 4, 6))
ORDER BY dbo.TARIF_COURANT.TR_DEB
现在我添加另一个表 LS_CLIENT_DEPT,并修改我的联接:
SELECT dbo.TARIF_COURANT.CODE_TARIF, dbo.TARIF_COURANT.NO_CLIENT,
dbo.TARIF_COURANT.ZONE, dbo.TARIF_COURANT.UNITE, dbo.TARIF_COURANT.LIBELLE,
dbo.TARIF_COURANT.TR_DEB, dbo.TARIF_COURANT.TR_FIN, dbo.TARIF_COURANT.MONTANT,
dbo.T_TARIF_ZONE.LIBELLE AS ZONELIB, dbo.LS_CLIENT_DEPT.DEPARTEMENT,
dbo.T_TARIF_ZONE.DELAI
FROM dbo.TARIF_COURANT LEFT OUTER JOIN dbo.T_TARIF_ZONE ON
dbo.TARIF_COURANT.ZONE = dbo.T_TARIF_ZONE.NO_ID
LEFT OUTER JOIN dbo.LS_CLIENT_DEPT ON dbo.TARIF_COURANT.NO_CLIENT =
dbo.LS_CLIENT_DEPT.CODE_CLIENT AND dbo.TARIF_COURANT.ZONE =
dbo.LS_CLIENT_DEPT.ZONE
WHERE (dbo.TARIF_COURANT.TEMPO = 2) AND (dbo.TARIF_COURANT.ZONE IN (1, 2, 3,
4, 6)) ORDER BY dbo.TARIF_COURANT.TR_DEB
对象是如果表“LS_CLIENT_DEPT”中的 DEPARTEMENT 列是“NOT NULL”,则使用此列值,否则使用表“T_TARIF_ZONE”中的列 DEPARTEMENT 值
提前谢谢你