Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取链接到不同表中相同列的两列的总和_Sql_Database - Fatal编程技术网

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提供了假设将参加每个活动的与会者人数。您使用的数据库(包括版本)是什么?