INNER JOIN查看详细信息另一个表SQL

时间:2015-11-11 04:02:54

标签: sql sql-server tsql sql-server-2008-r2

好吧,我有下表(表1):

------------------------------------
GroupID      oDate          oDesc
------------------------------------
1            2016-05-01     A
2            2016-05-20     B
3            2017-03-01     C
4            2017-03-28     D

然后我有下表(表2):

------------------------------------
AutoID      GroupID        oItem
------------------------------------
1           1              abc
2           1              def
3           2              ghi
4           2              jkl
5           3              mno
6           4              pql

我想知道Table2中同一年份有Table1链接的所有oItem。结果应该是这样的:

---------------------------
oYear       oItem
---------------------------
2016        abc
2016        def
2016        ghi
2016        jkl
2017        mno
2017        pql

有什么想法怎么做?谢谢。

2 个答案:

答案 0 :(得分:1)

使用Year内置函数从日期列提取年。试试这个

select Year(Odate) as Oyear,B.oItem
from table1 A inner join table2 B
on A.GroupID = B.GroupID 

答案 1 :(得分:1)

您只需使用inner join即可获得所需的结果。

select datepart(yyyy, t1.odate) as oyear, t2.oitem
from table1 t1 
inner join table2 t2 on t1.groupid = t2.groupid