這裏有兩個表。如何在MS SQL中使用相同的數據寫兩個MS SQL代碼
Table1
SchoolID Teacher_name comm_yr
01 John 1990
02 Heley 1995
03 George 1994
04 Chris 1998
05 Mary 1993
Table2
School_ID Student_name
01 Heley
02 Chris
03 Chris
04 Mary
05 Heley
我想列出每個學生做過的每年學生以及每個學生做過的年份。
SELECT Teacher_name, comm_yr As Teacher_comm_yr, comm_yr As Student_comm_yr
FROM Table1 INNER JOIN Table2
WHERE comm_yr (SELECT comm_yr As Teacher_comm_yr From Table1
Where teacher_name=student_name);
該表顯示
Teacher_name Teacher_comm_yr Student_comm_yr
John 1990 1990
Heley 1995 1995
George 1994 1994
Chris 1998 1998
Mary 1993 1993
但我要的是
Teacher_name Teacher_comm_yr Student_comm_yr
John 1990
Heley 1995 1990
George 1994
Chris 1998 1995
Chris 1998 1994
Mary 1993 1998
但我只能執行同年 能否請您幫助..
謝謝!
請提供需要的輸出樣本。 – RedFilter
它有錯誤。我什至不能執行它 – user1355061
他的意思是爲上述兩個基表什麼是你期望看到的輸出..你不必運行查詢..通過鍵入它自己建立它..:/ – Baz1nga