2012-04-18 60 views
0

我正嘗試在另一個字段上加入不同的字段。SQL獨特加入

示例:在column.Teacher下分類的tbl.Class中有多個具有相同值的行。我想要將column.Teacher中的一個DISTINCT值連接到另一個表(tbl.Course)中的column.Teacher_Course。

這是我的想法,但不是隻從tbl.Class中檢索一個值,我得到多個連接。

SELECT distinct(Teacher.JohnJoe) 
FROM tbl.Class 

RIGHT OUTER JOIN tbl.Course ON Course.Teacher_Course = Class.Teacher 
+3

IMO,一些樣本數據將有助於我們理解你的問題更好。 – 2012-04-18 19:35:44

回答

1

您也可以嘗試使用GROUP BY子句:

SELECT Teacher.JohnJoe 
FROM tbl.Class 
RIGHT OUTER JOIN tbl.Course ON Course.Teacher_Course = Class.Teacher 
GROUP BY Teacher.JohnJoe 
0

簡歷:

  • 多個教師tbl.Class
  • 單老師tbl.Course
  • 結果應該爲tbl.Course中的每條記錄提供tbl.Class的單​​個教師。課程

我的SQL解釋:

DECLARE @class TABLE ([id] int, [teacher] nvarchar(20)) 
DECLARE @course TABLE ([id] int, [course] nvarchar(20), [teacher_course] nvarchar(20)) 

INSERT INTO @class ([id], [teacher]) VALUES (1, 'Teacher 1') 
INSERT INTO @class ([id], [teacher]) VALUES (2, 'Teacher 2') 
INSERT INTO @class ([id], [teacher]) VALUES (3, 'Teacher 3') 
INSERT INTO @class ([id], [teacher]) VALUES (4, 'Teacher 4') 
INSERT INTO @class ([id], [teacher]) VALUES (5, 'Teacher 1') 

INSERT INTO @course ([id], [course], [teacher_course]) VALUES (1, 'Course 1', 'Teacher 1') 
INSERT INTO @course ([id], [course], [teacher_course]) VALUES (2, 'Course 2', 'Teacher 4') 

SELECT 
    [co].[id], 
    [co].[course], 
    [cl].[teacher] 
FROM @course [co] 
INNER JOIN @class [cl] ON [co].[teacher_course] = [cl].[teacher] 
GROUP BY 
    [co].[id], 
    [co].[course], 
    [cl].[teacher] 

導致:

[id] [course] [teacher] 
1  Course 1 Teacher 1 
2  Course 2 Teacher 4