Sql 获取链接到不同表中相同列的两列的总和
我有一个“事件”表,供用户添加具有以下字段的事件:Sql 获取链接到不同表中相同列的两列的总和,sql,database,Sql,Database,我有一个“事件”表,供用户添加具有以下字段的事件: 事件ID 事件名称 EventSlot(-->slotID) 事件SLOTEXTRA(-->slotID)(可选) 事件限制 我还有另一张桌子“吃角子老虎” SlotID(int) 时差(这是上午9点到10点、上午10点到11点等) 我需要查询这两个表,这样我就可以得到每个时隙参加活动的总人数。我知道在仅选择EventSlot时如何执行此操作,但在同时选择EventSlotTextRA时则不知道如何执行此操作。你能帮忙吗? 非常感谢试试这
事件ID
事件名称
EventSlot(-->slotID)
事件SLOTEXTRA(-->slotID)(可选)
事件限制
我还有另一张桌子“吃角子老虎”
SlotID(int)
时差(这是上午9点到10点、上午10点到11点等)
我需要查询这两个表,这样我就可以得到每个时隙参加活动的总人数。我知道在仅选择EventSlot时如何执行此操作,但在同时选择EventSlotTextRA时则不知道如何执行此操作。你能帮忙吗?
非常感谢试试这个
Select s.SlotTime,
Count(e.EventId) + Count(x.EventId) EventCount
From Slots s
Left Join Events e
On e.EventSlot = s.SlotId
Left Join Events x
On x.EventSlotExtra = x.SlotId
Group By s.SlotTime
这太棒了,谢谢 我刚刚修改了代码,因为我正在寻找与会者的总数,而不是每个时段的活动数量,但是Charles Bretagna的代码对我帮助很大!再次感谢
SELECT
s.SlotTime, s.SlotID, ISNULL(SUM(x.EventLimit), 0) + ISNULL(SUM(e.EventLimit), 0)
AS PeopleLimit
FROM
Slots AS s
LEFT OUTER JOIN Events AS e ON e.EventSlot = s.SlotID
LEFT OUTER JOIN Events AS x ON x.EventSlot1 = s.SlotID
GROUP BY s.SlotTime, s.SlotID
ORDER BY s.SlotID;
也许你可以给我们看看你写的代码?人们通常不喜欢只为您编写代码……大概您还有一个与会者表,以某种方式链接到活动。或者“人口总数”是以其他方式得出的?是的,我是这样认为的。但是这个操作没有必要,因为EventLimit提供了假设将参加每个活动的与会者人数。您使用的数据库(包括版本)是什么?