1

我有以下表格:

俱乐部:Club_ID | 标题 | 创建日期 | ...

Club_Intesect:用户 ID | 俱乐部_ID | 使用权

我正在尝试选择可变数量的俱乐部,并加入该俱乐部中具有最高访问权限的用户的 ID。此人被视为所有者。

因此,如果俱乐部 100 的成员 A、B、C 分别具有访问权限 3、4 和 5:我希望从俱乐部中选择最终查询:

 Club.Club_ID     Club.Title        Club.Created_Date  Club_Intersect.User_ID

      100         |  "Test Club"   |  "Creation Date"     |       C             |
      101         | "Test Club 2"  |  "Creation_Date"     | Highest Access User |
      ...
4

2 回答 2

1
SELECT * FROM Club c
JOIN Club_Intesect ci ON ci.Club_ID = c.Club_ID
WHERE ci.Access = (SELECT MAX(Access) FROM Club_Intesect WHERE Club_ID = c.Club_ID)

未经测试,但你明白了

于 2010-10-03T15:26:51.037 回答
1
SELECT * FROM Club WHERE CLUB_ID = (SELECT Club_ID FROM Club_Intersect ORDER BY Access DESC LIMIT 1);

我认为这适用于使用嵌套 SQL 查询来选择您想要的俱乐部。您没有在返回的结果中指定您想要的内容,因为此查询只会检索 Club 列。

于 2010-10-03T15:27:38.367 回答