我有一个简单的DB与以下两个表.
id会话表中的session_id字段与候选表中的字段之间存在一对多关系.
我想要一个查询SELECT * FROM SESSIONS.
SESSIONS (TABLE)
|| id || title || max_candidates || description ||
|| 01 || fish || 05 || some string ||
|| 02 || birds || 10 || some string ||
CANDIDATES (TABLE)
|| session_id || user_id ||
|| 01 || user01 ||
|| 02 || user12 ||
|| 02 || user03 ||
|| 02 || user05 ||
Run Code Online (Sandbox Code Playgroud)
但是,除了从sessions表中返回信息之外,我还希望它返回一个名为的计算列avaliable_spaces.
我想让这个列返回基于特定会话的可用空间的数量(没有时间session_id发生CANDIDATES) - (max_candidates)
在上面的例子中,它将返回(显然减去列headders);
|| id || title || max_candidates || description || avaliable_spaces ||
|| 01 || fish || 05 || some string ||04 ||
|| 02 || birds || 10 || some string ||07 ||
Run Code Online (Sandbox Code Playgroud)
这有意义吗?如果是这样,它甚至可能!?(你可能猜到)我是一个SQL菜鸟,这远远超出我的意义!
SELECT S.id,
S.title,
S.max_candidates,
S.description,
S.max_candidates - COUNT(c.user_id) as available_spaces
FROM SESSIONS S
LEFT OUTER JOIN CANDIDATES C
ON C.session_id = s.id
GROUP BY S.id,
S.title,
S.max_candidates,
S.description
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5077 次 |
| 最近记录: |