我有两个 MySQL 表 SPONSORSHIPS 和 EVENTS。我想显示按他们赞助的活动类别排序的赞助列表,但在每个活动下只显示一次赞助。示例连接表:
SPONSORSHIPS
sponsorhipid | sponsorid | eventid | date |
-------------|-----------|---------|------------|
1 | 3 | 20 | 06/01/2013 |
2 | 2 | 20 | 06/02/2013 |
3 | 3 | 20 | 06/03/2013 |
4 | 2 | 21 | 06/04/2013 |
EVENTS
eventid | name | premium |
--------|-----------|------------|
20 | Lunch | 0 |
21 | Dinner | 1 |
作为 JOIN 的结果,我想要的是:
sponsorhipid | sponsorid | eventid | date | name | premium |
-------------|-----------|---------|------------|---------| ---------|
1 | 3 | 20 | 06/01/2013 | Lunch | 0 |
2 | 2 | 20 | 06/02/2013 | Lunch | 0 |
4 | 2 | 21 | 06/04/2013 | Dinner | 1 |
我试过了DISTINCT
,GROUP BY
但是这些会破坏事件,所以如果赞助商 #2 赞助两个不同的事件,它们仍然只会显示一次。我怎样才能做到这一点?这是我的最后一个 SQL 查询:
SELECT DISTINCT (sponsorships.sponsorshipid), sponsorships.*, events.*
FROM events
INNER JOIN sponsorships
ON events.eventid = sponsorships.eventid
非常感谢您的任何指点!