我正在努力学习基本的SQL。我所拥有的是以下TICKET表
----------------------- | TICKET | ----------------------- |id | date | team | ----------------------- | 1 |22/07/2016| A | | 2 |24/07/2016| B | | 3 |24/07/2016| B | | 1 |23/07/2016| C | | 4 |25/07/2016| A | | 5 |26/07/2016| A | | 5 |27/07/2016| B | -----------------------
有时候,一两天后,门票可能会受到另一个团队的影响(参见上面的例子,1号门票从A队转到C队)。我需要的是一张原本属于A队的所有门票的清单(即 - 相同的身份,但不同的团队; A队是最早的)
我不太确定我已经拥有的#34;切换团队部分" :
SELECT id, date, team
FROM TICKET
WHERE (
id IN (
SELECT id
FROM TICKET
WHERE (team = 'B' OR team = 'C')
)
)
AND team = 'A'
我应该在某个地方放置ORDER BY日期和GROUP BY子句吗?难道没有更好的解决方案吗?
答案 0 :(得分:0)
select distinct t.id
from ticket t
inner join ticket t1 on t.id=t1.id and t1.team<>'A' and t.date<t1.date
where
t.team='A'