各位先進好,
想問個觀念問題,我有如下2個表,XP是記錄修改前跟修改後的部門代號,ME則是記錄代號跟對應的中文名稱,但是依照我原本使用INNER JOIN 只能找一次對應時使用,所以想請教各位當有兩個欄位都要進去找到對應的中文名稱時,應該怎麼連結?謝謝
附上建表語法:
--建表
DECLARE @XP AS TABLE
(
[XP001] varchar(4),
[XP002] varchar(4)
)
DECLARE @ME AS TABLE
(
[ME001] varchar(4),
[ME002] varchar(10)
)
--放入參考資料
INSERT INTO @XP VALUES('A001','A004')
INSERT INTO @XP VALUES('A002','A003')
INSERT INTO @ME VALUES('A001','業務部北區')
INSERT INTO @ME VALUES('A002','業務部中區')
INSERT INTO @ME VALUES('A003','業務部南區')
INSERT INTO @ME VALUES('A004','業務部東區')
如下語法我只能對應其中一個欄位,另一個欄位不知如何進入@ME找到對應名稱
SELECT XP001,ME002,XP002 FROM @XP
INNER JOIN @ME ON XP001 = ME001
SELECT XP.XP001 AS '修改前部門(XP001)',A.ME002 AS '修改前部門名稱',
XP.XP002 AS '修改後部門(XP002)',B.ME002 AS '修改後部門名稱'
FROM XP
INNER JOIN ME AS A ON XP.XP001=A.ME001
INNER JOIN ME AS B ON XP.XP002=B.ME001
ORDER BY XP.XP001
SELECT XP001 修改前部門,ME1.ME002 修改前部門名稱,XP002 修改後部門,ME2.ME002 修改後部門名稱 FROM @XP
INNER JOIN @ME ME1 ON XP001 = ME1.ME001
INNER JOIN @ME ME2 ON XP002 = ME2.ME001
恩..主鍵是不可異動的~
在我的資料表習慣~
一定分為ID 部門編號 部門名稱
Join的時候~也是Join ID欄位~
只有外在顯示是 部門編號 部門名稱 給人家看的~