2

我有两张桌子,说A和B。

表:A

ID_Sender |  Date     
________________________
   1      | 11-13-2013
   1      | 11-12-2013

   2      | 11-12-2013
   2      | 11-11-2013

   3      | 11-13-2013
   4      | 11-11-2013

表:乙

    ID    |  Tags
_______________________
1         | Company A
2         | Company A
3         | Company C
4         | Company D

结果表:

Tags        |   Date
____________________________
Company A   | 11-13-2013
Company C   | 11-13-2013
Company D   | 11-11-2013

我已经用 MAX(DATE) 尝试了 GROUP BY但没有运气,我做了一些内部连接和子查询,但未能产生输出。

到目前为止,这是我的代码,并附有输出的图像。

SELECT E.Tags, D.[Date] FROM 
        (SELECT A.ID_Sender AS Sendah, MAX(A.[Date]) AS Datee
        FROM tblA A
        LEFT JOIN tblB B ON A.ID_Sender = B.ID
        GROUP BY A.ID_Sender) C
    INNER JOIN tblA D ON D.ID_Sender = C.Sendah AND D.[Date] = C.Datee
    INNER JOIN tblB E ON E.ID = D.ID_Sender

有什么建议么?我已经把我的头发拉出来了!(也许你们可以给我一些有用的sql概念,答案不是那么必要,因为我真的很想自己解决它:))

谢谢!

4

3 回答 3

5
SELECT Tags, MAX(Date) AS [Date]
FROM dbo.B INNER JOIN dbo.A
  ON B.ID = A.ID_Sender
GROUP BY B.Tags

Demo

结果

Company A   November, 13 2013 00:00:00+0000
Company C   November, 13 2013 00:00:00+0000
Company D   November, 11 2013 00:00:00+0000
于 2013-11-13T08:48:49.910 回答
0

试试这个,如果我错了,请让我纠正。在表 B 中,Id = 2 是公司 BI 假设.. 如果正确,则继续使用此代码。

   declare @table1 table(ID_Sender int,  Dates varchar(20))
   insert  into @table1 values 
   ( 1      , '11-13-2013'),
   (1      , '11-12-2013'),
   (2      ,'11-12-2013'),
   (2      ,'11-11-2013'),
   (3      ,'11-13-2013'),
   (4      ,'11-11-2013')

   declare @table2 table ( id int, tags varchar(20))
   insert into @table2 values 
   (1         ,'Company A'),
   (2         , 'Company B'),
   (3         , 'Company C'),
   (4         , 'Company D')


;with cte as
(
    select 
    t1.ID_Sender, t1.Dates, t2.tags
    from @table1 t1
    join
    @table2 t2 on t1.ID_Sender = t2.id
)
select tags, MAX(dates) as dates from cte group by tags
于 2013-11-13T08:59:31.700 回答
0

首先在 B 表中的 ID 上使用“公司 B”更改您的架构

这是我的代码:

 Select B.Tags, max(A.Date) as 'Date'
 from A, B
  where B.ID = A.ID_Sender
  group by B.Tags
于 2015-05-27T04:05:32.037 回答