Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 Server_Sql_Performance - Fatal编程技术网

用于预订的SQL Server

用于预订的SQL Server,sql,performance,Sql,Performance,大家好,在某人的帮助下,我成功地进行了一次查询,但我刚刚发现我必须使用连接,我还没有完全意识到这一点!我想知道一个月内预定的票数是多少!下面的代码可以吗?或者我需要更多的研究。任何帮助都将不胜感激 从中选择* 选择bookingDate、perID、countbookings作为一个月内预订的票数 从票上 按周分组 t.bookingID=b.bookingID上的内部联接预订b 我遗漏了什么吗 数据和表3如下所示: 创建表格预订 bookingID int IDENTITY 1,1主键不为空,

大家好,在某人的帮助下,我成功地进行了一次查询,但我刚刚发现我必须使用连接,我还没有完全意识到这一点!我想知道一个月内预定的票数是多少!下面的代码可以吗?或者我需要更多的研究。任何帮助都将不胜感激

从中选择* 选择bookingDate、perID、countbookings作为一个月内预订的票数 从票上 按周分组 t.bookingID=b.bookingID上的内部联接预订b

我遗漏了什么吗

数据和表3如下所示:

创建表格预订 bookingID int IDENTITY 1,1主键不为空, customerID int外键引用客户, clerkID varchar 20个外键参考文员, 预订日期, 预定时间, 预订类型varchar20, 总成本小数5,2, ;

创建表性能 perID int非空标识1,1主键, perName varchar 50, 准时, 截止日期, perType varchar 20, 持续时间varchar 10, 屏幕整型, 年龄限制varchar 10, 位置varchar 10, ;

创建表格票据 ticketNo int非空标识1,1主键, bookingID int外键参考预订, perID int外键引用性能, 票证类型varchar10, 票务日期, 票证价格十进制4,2, 屏幕整型, 准时, ;

``试试这个:

SELECT
*
FROM (
         SELECT perID, count(*) as ticket_count
         FROM tickets
         GROUP BY perID
    ) T
INNER JOIN  performances p on t.perID = p.perID  
;
当我不知道列要求是什么时,使用select*。执行此操作时,请始终指定列并包含表别名

e、 g


您至少应该尝试一下,您尝试过什么查询?我尝试过,但它会给我带来错误,而我无法做到:请指定这些错误,并说明您尝试了什么导致了这些错误。最好是表明你已经尝试过但失败了,而不是要求别人给你一个解决方案。将该查询添加到你的问题中-然后你可能会得到答案-直到那时,以下网站惯例将不会回答从tickets中选择countticketNo,其中tickets.bookingID=bookings.bookingID和tickets.perID=periaments.perIDit确实有帮助,但是如果我想知道演出的标题,我可以只叫出栏目名称吗?从中选择*选择perID,perName,count*作为票证计数,其中perName='xxx'按perID分组T内部连接性能p on T.perID=p.perID;是的,你应该指定你想要的栏目,我不知道,所以我使用了*非常感谢你的帮助,一直在努力解决这个问题,这么长时间都无法得到有效的avnt,所以我不知道。如果你对答案满意,你应该在答案旁边打勾或打勾,以表明这是你选择的解决方案。因此,我想找到一个月内预订的机票数量也将以同样的方式进行?从SELECT perID中选择*,按perID T INNER JOIN BOCKINGS p on T.BOCKINGID=b.BOCKINGID将*预订数计算为从票务组预订的票数;
SELECT
p.perName, p.perDate, p.perType, t.ticket_count
FROM (
         SELECT perID, count(*) as ticket_count
         FROM tickets
         GROUP BY perID
    ) T
INNER JOIN  performances p on t.perID = p.perID  
;