Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
rvooys
Starting Member
1 Post |
Posted - 2009-12-26 : 00:58:37
|
| Below is the best way I know to accomplish taking records and sorting them into fields, so I can get a summary of each. This query runs, albeit it slowly, but when I try to put it on my ASP.net application it fails because of the following errorThe query has been canceled because the estimated cost of this query (37493570) exceeds the configured threshold of 2000Any ideas, anything, would be great. SELECT TOP (100) PERCENT dbo.tblDrawings.Draw_DrawingID, ISNULL(tblManHoursPipe.ManHoursPipe, 0) AS ManHoursPipeNum, ISNULL(tblManHoursWelds.ManHoursWelds, 0) AS ManHoursWeldsNum, ISNULL(tblManHoursBoltUps.ManHoursBoltUps, 0) AS ManHoursBoltUpsNum, ISNULL(tblManHoursValve.ManHoursValve, 0) AS ManHoursValveNum, ISNULL(tblManHoursThreaded.ManHoursThreaded, 0) AS ManHoursThreadedNum, ISNULL(tblManHoursAttach.EarnedManHoursAttach, 0) AS EarnedManHoursAttachNumFROM dbo.tblDrawings LEFT OUTER JOIN (SELECT tblDrawingSpools_3.DSpool_DrawingID, vwDrawingSpoolHistorySum_3.Sum_BudgetManHours AS ManHoursThreaded FROM dbo.tblDrawingSpools AS tblDrawingSpools_3 INNER JOIN dbo.tblSpools AS tblSpools_3 ON tblDrawingSpools_3.DSpool_SpoolID = tblSpools_3.Spool_SpoolID INNER JOIN dbo.tblSpoolCategories AS tblSpoolCategories_3 ON tblSpools_3.Spool_SpoolCategoryID = tblSpoolCategories_3.SpoolC_SpoolCategoryID INNER JOIN dbo.vwDrawingSpoolHistorySum AS vwDrawingSpoolHistorySum_3 ON tblDrawingSpools_3.DSpool_DrawingSpoolID = vwDrawingSpoolHistorySum_3.DSHi_DrawingSpoolID WHERE (tblSpoolCategories_3.SpoolC_SpoolCategoryID = 7)) AS tblManHoursThreaded ON dbo.tblDrawings.Draw_DrawingID = tblManHoursThreaded.DSpool_DrawingID LEFT OUTER JOIN (SELECT tblDrawingSpools_4.DSpool_DrawingID, vwDrawingSpoolHistorySum_4.Sum_BudgetManHours AS ManHoursValve FROM dbo.tblDrawingSpools AS tblDrawingSpools_4 INNER JOIN dbo.tblSpools AS tblSpools_4 ON tblDrawingSpools_4.DSpool_SpoolID = tblSpools_4.Spool_SpoolID INNER JOIN dbo.tblSpoolCategories AS tblSpoolCategories_4 ON tblSpools_4.Spool_SpoolCategoryID = tblSpoolCategories_4.SpoolC_SpoolCategoryID INNER JOIN dbo.vwDrawingSpoolHistorySum AS vwDrawingSpoolHistorySum_4 ON tblDrawingSpools_4.DSpool_DrawingSpoolID = vwDrawingSpoolHistorySum_4.DSHi_DrawingSpoolID WHERE (tblSpoolCategories_4.SpoolC_SpoolCategoryID = 6)) AS tblManHoursValve ON dbo.tblDrawings.Draw_DrawingID = tblManHoursValve.DSpool_DrawingID LEFT OUTER JOIN (SELECT tblDrawingSpools_6.DSpool_DrawingID, vwDrawingSpoolHistorySum_6.Sum_BudgetManHours AS ManHoursWelds FROM dbo.tblDrawingSpools AS tblDrawingSpools_6 INNER JOIN dbo.tblSpools AS tblSpools_6 ON tblDrawingSpools_6.DSpool_SpoolID = tblSpools_6.Spool_SpoolID INNER JOIN dbo.tblSpoolCategories AS tblSpoolCategories_6 ON tblSpools_6.Spool_SpoolCategoryID = tblSpoolCategories_6.SpoolC_SpoolCategoryID INNER JOIN dbo.vwDrawingSpoolHistorySum AS vwDrawingSpoolHistorySum_6 ON tblDrawingSpools_6.DSpool_DrawingSpoolID = vwDrawingSpoolHistorySum_6.DSHi_DrawingSpoolID WHERE (tblSpoolCategories_6.SpoolC_SpoolCategoryID = 2) OR (tblSpoolCategories_6.SpoolC_SpoolCategoryID = 3) OR (tblSpoolCategories_6.SpoolC_SpoolCategoryID = 4)) AS tblManHoursWelds ON dbo.tblDrawings.Draw_DrawingID = tblManHoursWelds.DSpool_DrawingID LEFT OUTER JOIN (SELECT tblDrawingSpools_5.DSpool_DrawingID, vwDrawingSpoolHistorySum_5.Sum_BudgetManHours AS ManHoursBoltUps FROM dbo.tblDrawingSpools AS tblDrawingSpools_5 INNER JOIN dbo.tblSpools AS tblSpools_5 ON tblDrawingSpools_5.DSpool_SpoolID = tblSpools_5.Spool_SpoolID INNER JOIN dbo.tblSpoolCategories AS tblSpoolCategories_5 ON tblSpools_5.Spool_SpoolCategoryID = tblSpoolCategories_5.SpoolC_SpoolCategoryID INNER JOIN dbo.vwDrawingSpoolHistorySum AS vwDrawingSpoolHistorySum_5 ON tblDrawingSpools_5.DSpool_DrawingSpoolID = vwDrawingSpoolHistorySum_5.DSHi_DrawingSpoolID WHERE (tblSpoolCategories_5.SpoolC_SpoolCategoryID = 6)) AS tblManHoursBoltUps ON dbo.tblDrawings.Draw_DrawingID = tblManHoursBoltUps.DSpool_DrawingID LEFT OUTER JOIN (SELECT dbo.tblDrawingSpools.DSpool_DrawingID, dbo.vwDrawingSpoolHistorySum.Sum_BudgetManHours AS ManHoursPipe FROM dbo.tblDrawingSpools INNER JOIN dbo.tblSpools ON dbo.tblDrawingSpools.DSpool_SpoolID = dbo.tblSpools.Spool_SpoolID INNER JOIN dbo.tblSpoolCategories ON dbo.tblSpools.Spool_SpoolCategoryID = dbo.tblSpoolCategories.SpoolC_SpoolCategoryID INNER JOIN dbo.vwDrawingSpoolHistorySum ON dbo.tblDrawingSpools.DSpool_DrawingSpoolID = dbo.vwDrawingSpoolHistorySum.DSHi_DrawingSpoolID WHERE (dbo.tblSpoolCategories.SpoolC_SpoolCategoryID = 1)) AS tblManHoursPipe ON dbo.tblDrawings.Draw_DrawingID = tblManHoursPipe.DSpool_DrawingID LEFT OUTER JOIN (SELECT tblDrawingSpools_2.DSpool_DrawingID, vwDrawingSpoolHistorySum_2.Sum_EarnedBudgetManHours AS EarnedManHoursAttach FROM dbo.tblDrawingSpools AS tblDrawingSpools_2 INNER JOIN dbo.tblSpools AS tblSpools_2 ON tblDrawingSpools_2.DSpool_SpoolID = tblSpools_2.Spool_SpoolID INNER JOIN dbo.tblSpoolCategories AS tblSpoolCategories_2 ON tblSpools_2.Spool_SpoolCategoryID = tblSpoolCategories_2.SpoolC_SpoolCategoryID INNER JOIN dbo.vwDrawingSpoolHistorySum AS vwDrawingSpoolHistorySum_2 ON tblDrawingSpools_2.DSpool_DrawingSpoolID = vwDrawingSpoolHistorySum_2.DSHi_DrawingSpoolID WHERE (tblSpoolCategories_2.SpoolC_SpoolCategoryID = 8)) AS tblManHoursAttach ON dbo.tblDrawings.Draw_DrawingID = tblManHoursAttach.DSpool_DrawingIDORDER BY dbo.tblDrawings.Draw_DrawingID |
|
|
webfred
Master Smack Fu Yak Hacker
8781 Posts |
Posted - 2009-12-26 : 08:39:03
|
First we should see formatted sql:SELECT TOP ( 100 ) PERCENT dbo.tbldrawings.draw_drawingid, Isnull(tblmanhourspipe.manhourspipe,0) AS manhourspipenum, Isnull(tblmanhourswelds.manhourswelds,0) AS manhoursweldsnum, Isnull(tblmanhoursboltups.manhoursboltups,0) AS manhoursboltupsnum, Isnull(tblmanhoursvalve.manhoursvalve,0) AS manhoursvalvenum, Isnull(tblmanhoursthreaded.manhoursthreaded,0) AS manhoursthreadednum, Isnull(tblmanhoursattach.earnedmanhoursattach,0) AS earnedmanhoursattachnum FROM dbo.tbldrawings LEFT OUTER JOIN (SELECT tbldrawingspools_3.dspool_drawingid, vwdrawingspoolhistorysum_3.sum_budgetmanhours AS manhoursthreaded FROM dbo.tbldrawingspools AS tbldrawingspools_3 INNER JOIN dbo.tblspools AS tblspools_3 ON tbldrawingspools_3.dspool_spoolid = tblspools_3.spool_spoolid INNER JOIN dbo.tblspoolcategories AS tblspoolcategories_3 ON tblspools_3.spool_spoolcategoryid = tblspoolcategories_3.spoolc_spoolcategoryid INNER JOIN dbo.vwdrawingspoolhistorysum AS vwdrawingspoolhistorysum_3 ON tbldrawingspools_3.dspool_drawingspoolid = vwdrawingspoolhistorysum_3.dshi_drawingspoolid WHERE (tblspoolcategories_3.spoolc_spoolcategoryid = 7)) AS tblmanhoursthreaded ON dbo.tbldrawings.draw_drawingid = tblmanhoursthreaded.dspool_drawingid LEFT OUTER JOIN (SELECT tbldrawingspools_4.dspool_drawingid, vwdrawingspoolhistorysum_4.sum_budgetmanhours AS manhoursvalve FROM dbo.tbldrawingspools AS tbldrawingspools_4 INNER JOIN dbo.tblspools AS tblspools_4 ON tbldrawingspools_4.dspool_spoolid = tblspools_4.spool_spoolid INNER JOIN dbo.tblspoolcategories AS tblspoolcategories_4 ON tblspools_4.spool_spoolcategoryid = tblspoolcategories_4.spoolc_spoolcategoryid INNER JOIN dbo.vwdrawingspoolhistorysum AS vwdrawingspoolhistorysum_4 ON tbldrawingspools_4.dspool_drawingspoolid = vwdrawingspoolhistorysum_4.dshi_drawingspoolid WHERE (tblspoolcategories_4.spoolc_spoolcategoryid = 6)) AS tblmanhoursvalve ON dbo.tbldrawings.draw_drawingid = tblmanhoursvalve.dspool_drawingid LEFT OUTER JOIN (SELECT tbldrawingspools_6.dspool_drawingid, vwdrawingspoolhistorysum_6.sum_budgetmanhours AS manhourswelds FROM dbo.tbldrawingspools AS tbldrawingspools_6 INNER JOIN dbo.tblspools AS tblspools_6 ON tbldrawingspools_6.dspool_spoolid = tblspools_6.spool_spoolid INNER JOIN dbo.tblspoolcategories AS tblspoolcategories_6 ON tblspools_6.spool_spoolcategoryid = tblspoolcategories_6.spoolc_spoolcategoryid INNER JOIN dbo.vwdrawingspoolhistorysum AS vwdrawingspoolhistorysum_6 ON tbldrawingspools_6.dspool_drawingspoolid = vwdrawingspoolhistorysum_6.dshi_drawingspoolid WHERE (tblspoolcategories_6.spoolc_spoolcategoryid = 2) OR (tblspoolcategories_6.spoolc_spoolcategoryid = 3) OR (tblspoolcategories_6.spoolc_spoolcategoryid = 4)) AS tblmanhourswelds ON dbo.tbldrawings.draw_drawingid = tblmanhourswelds.dspool_drawingid LEFT OUTER JOIN (SELECT tbldrawingspools_5.dspool_drawingid, vwdrawingspoolhistorysum_5.sum_budgetmanhours AS manhoursboltups FROM dbo.tbldrawingspools AS tbldrawingspools_5 INNER JOIN dbo.tblspools AS tblspools_5 ON tbldrawingspools_5.dspool_spoolid = tblspools_5.spool_spoolid INNER JOIN dbo.tblspoolcategories AS tblspoolcategories_5 ON tblspools_5.spool_spoolcategoryid = tblspoolcategories_5.spoolc_spoolcategoryid INNER JOIN dbo.vwdrawingspoolhistorysum AS vwdrawingspoolhistorysum_5 ON tbldrawingspools_5.dspool_drawingspoolid = vwdrawingspoolhistorysum_5.dshi_drawingspoolid WHERE (tblspoolcategories_5.spoolc_spoolcategoryid = 6)) AS tblmanhoursboltups ON dbo.tbldrawings.draw_drawingid = tblmanhoursboltups.dspool_drawingid LEFT OUTER JOIN (SELECT dbo.tbldrawingspools.dspool_drawingid, dbo.vwdrawingspoolhistorysum.sum_budgetmanhours AS manhourspipe FROM dbo.tbldrawingspools INNER JOIN dbo.tblspools ON dbo.tbldrawingspools.dspool_spoolid = dbo.tblspools.spool_spoolid INNER JOIN dbo.tblspoolcategories ON dbo.tblspools.spool_spoolcategoryid = dbo.tblspoolcategories.spoolc_spoolcategoryid INNER JOIN dbo.vwdrawingspoolhistorysum ON dbo.tbldrawingspools.dspool_drawingspoolid = dbo.vwdrawingspoolhistorysum.dshi_drawingspoolid WHERE (dbo.tblspoolcategories.spoolc_spoolcategoryid = 1)) AS tblmanhourspipe ON dbo.tbldrawings.draw_drawingid = tblmanhourspipe.dspool_drawingid LEFT OUTER JOIN (SELECT tbldrawingspools_2.dspool_drawingid, vwdrawingspoolhistorysum_2.sum_earnedbudgetmanhours AS earnedmanhoursattach FROM dbo.tbldrawingspools AS tbldrawingspools_2 INNER JOIN dbo.tblspools AS tblspools_2 ON tbldrawingspools_2.dspool_spoolid = tblspools_2.spool_spoolid INNER JOIN dbo.tblspoolcategories AS tblspoolcategories_2 ON tblspools_2.spool_spoolcategoryid = tblspoolcategories_2.spoolc_spoolcategoryid INNER JOIN dbo.vwdrawingspoolhistorysum AS vwdrawingspoolhistorysum_2 ON tbldrawingspools_2.dspool_drawingspoolid = vwdrawingspoolhistorysum_2.dshi_drawingspoolid WHERE (tblspoolcategories_2.spoolc_spoolcategoryid = 8)) AS tblmanhoursattach ON dbo.tbldrawings.draw_drawingid = tblmanhoursattach.dspool_drawingid ORDER BY dbo.tbldrawings.draw_drawingid No, you're never too old to Yak'n'Roll if you're too young to die. |
 |
|
|
jackv
Master Smack Fu Yak Hacker
2179 Posts |
Posted - 2009-12-26 : 09:57:21
|
| First thing , could you check if the query governor is enabled , and does it have a limit?Jack Vamvas--------------------http://www.ITjobfeed.com (IT jobs) |
 |
|
|
|
|
|
|
|