我会说,我是比较新的数据库和SQL,我试图做的除了率先View在SQL Server这之前的同事创建的。
我正在尝试加入Customer_Snacks表格,以便我可以获得Snack Quantity每个客户的订单。我遇到的问题是,当我做一个LEFT OUTER JOIN,据我所知,应该工作时,其他一些列数据发生了巨大的变化。
我设法通过使用子查询使其按照我希望的方式工作,但速度非常慢。运行查询需要一分钟多的时间,作为回报,调用该视图的应用程序超时。
这是我目前有效的(我知道,它很乱):
SELECT
cl.CustomerID,
cl.FirstName + ' ' + c.LastName as CustomerDisplay,
cl.InvoiceID,
cl.MealPlanID,
mp.DeliveryDate1 as DeliveryDate,
SUM(CASE WHEN cll.Name = 'Meal' THEN cll.Quantity ELSE 0 END) as RegularQuantity,
SUM(CASE WHEN cll.Name = 'Meal' THEN cll.Quantity * Amount ELSE 0 END) as RegularTotal,
SUM(CASE WHEN cll.Name = 'EXTRAPROTEINMEAL' THEN cll.Quantity ELSE 0 END) as ProteinQuantity,
SUM(CASE WHEN cll.Name = 'EXTRAPROTEINMEAL' THEN cll.Quantity * Amount …Run Code Online (Sandbox Code Playgroud)