main logo
Subject: Re: Simple two step query possible in one?
Author: "Stephen Russell"
Posted: 2008/04/30 14:57:11
 
View Entire Thread
New Search


On Wed, Apr 30, 2008 at 8:19 AM, Gil Hale <gil (at) gilhale .DOT com> wrote:

> > I disagree with the SPEED statement, and if you find it difficult
> > to manage
> > it's complexities then .........
>
> Actually, I have found overall speed is not so much the issue unless there
> is a non-optimized piece in the SQL-SELECT code. In that case it seems
> the
> speed is greater if I can isolate the non-optimized SQL-SELECT statement.
> And, I am in total agreement with Kristyne re: it being easier to
> read/debug
> SQL-SELECT when it is broken into several steps. It is not that I can't
> deal with the complexities. It is more that years after I cut the code it
> is easier for me to "get it again" if the SQL-SELECT code is broken into
> logical steps - much less for someone less familiar with my code than I.
>
> Usually once I get the results I want I am tempted to just put all the
> statements into one big, honking SQL-SELECT statement and let 'er rip.
> But
> in almost every case I opt to leave it as is since it is working, and it
> does make for easier understanding when I come back to the code many years
> later. Further, if I want to use just one piece of the code elsewhere it
> is
> easy to isolate what I want to pull out.
>
----------------------------------------------------------------------

I don't understand how your steps are taking place?
" Usually once I get the results I want I am tempted to just put all the
statements into one big, honking SQL-SELECT statement and let 'er rip. "

Are you talking about multi segments in a large sql script?

Or getting a first filter set and then using the output of that in a join to
another table for secondary processing?

Is this complex?:
SELECT dbo.SubmittedOrderDocument.guid,
dbo.SubmittedOrderDocument.[order], dbo.SubmittedOrderDocument.quantity,
dbo.SubmittedOrderDocument.sheetCount,
dbo.SubmittedOrderDocument.friendlyID, dbo.SubmittedOrder.submittedDate,
dbo.SubmittedOrderDocument.plex,
dbo.SubmittedOrderDocument.printColor, dbo.SubmittedOrder.friendlyID AS
OrderFriendlyID,

dbo.SubmittedOrder.shippingExpectedCompleteDeliveryDate,
dbo.SubmittedOrder.priority,

dbo.SubmittedOrderDocument.blackAndWhiteImpressionCount,
dbo.SubmittedOrderDocument.colorImpressionCount,
dbo.SubmittedOrderDocument.tabCount,
dbo.SubmittedOrderDocument.slipSheetCount,
dbo.SubmittedOrderDocument.bindingType,
dbo.SubmittedOrder.expectedShipDate
/*
,
(SELECT
MIN(shippingExpectedCompleteDeliveryDate)
FROM SubmittedOrderRecipient
WHERE SubmittedOrderRecipient.[ORDER] =
SubmittedOrderDocument.[ORDER]) AS
earliestShippingExpectedCompleteDeliveryDate,
dbo.SubmittedOrderDocument.status,
(SELECT COUNT(*)
FROM SubmittedOrderRecipient
WHERE SubmittedOrderRecipient.[ORDER] =
SubmittedOrderDocument.[ORDER]) AS recipientCount,
(SELECT COUNT(*)
FROM
SubmittedOrderDocumentStatusHistoryPreFlightedView
WHERE SubmittedOrderDocument.guid =
SubmittedOrderDocumentStatusHistoryPreFlightedView.document) AS preFlighted,
(SELECT COUNT(*)
FROM SubmittedOrderChangeOrder
WHERE SubmittedOrderChangeOrder.[ORDER] =
SubmittedOrder.guid AND SubmittedOrderChangeOrder.productionAttributes IS
NULL)
AS orderChangeOrderCount,
(SELECT COUNT(*)
FROM SubmittedOrderDocumentChangeOrder
WHERE
SubmittedOrderDocumentChangeOrder.document = SubmittedOrderDocument.guid AND


SubmittedOrderDocumentChangeOrder.productionAttributes IS NULL) AS
documentChangeOrderCount,
(SELECT TOP 1 *
FROM SubmittedOrderRequiresKittingView
WHERE SubmittedOrder.guid =
SubmittedOrderRequiresKittingView.[ORDER]) AS hasKitting,

dbo.SubmittedOrderRecipinetPackageInternationalShippingView.[order] AS
InternationalPackageOrderID,
(SELECT TOP 1 *
FROM
dbo.SubmittedOrderDocumentRequiresInventoryView
WHERE SubmittedOrderDocument.guid =
dbo.SubmittedOrderDocumentRequiresInventoryView.guid) AS
hasDocumentInventory,
(SELECT TOP 1 displayName
FROM
dbo.SubmittedOrderDocumentUnlistedBindingChangeView
WHERE SubmittedOrderDocument.guid =
dbo.SubmittedOrderDocumentUnlistedBindingChangeView.guid) AS
unlistedBinding,
(SELECT COUNT(*)
FROM SubmittedOrderSpecialInstruction
WHERE
SubmittedOrderSpecialInstruction.[ORDER] = SubmittedOrder.guid) AS
OrderSpecialInstructionCount,
(SELECT COUNT(*)
FROM
SubmittedOrderDocumentSpecialInstruction
WHERE
SubmittedOrderDocumentSpecialInstruction.document =
SubmittedOrderDocument.guid) AS DocumentSpecialInstructionCount,
*/
, dbo.SubmittedOrderDocument.simpleDocumentXML,
dbo.ADAPCalculatedPriority.calculatedPriority,
dbo.ADAPCalculatedPriority.bwQueueCalculatedPriority,
dbo.ADAPCalculatedPriority.colorQueueCalculatedPriority,

dbo.ADAPCalculatedPriority.collationQueueCalculatedPriority,
dbo.ADAPCalculatedPriority.bindingQueueCalculatedPriority,

dbo.ADAPCalculatedPriority.packagingQueueCalculatedPriority,
dbo.ADAPCalculatedPriority.attribute, dbo.ADAPCalculatedPriority.documentID,

dbo.ADAPCalculatedPriority.guid AS ADAPGuid
FROM dbo.SubmittedOrderDocument INNER JOIN
dbo.SubmittedOrder ON
dbo.SubmittedOrderDocument.[order] = dbo.SubmittedOrder.guid INNER JOIN
dbo.ADAPCalculatedPriority ON
dbo.SubmittedOrderDocument.guid = dbo.ADAPCalculatedPriority.documentID LEFT
OUTER JOIN

dbo.SubmittedOrderRecipinetPackageInternationalShippingView ON
dbo.SubmittedOrder.guid =
dbo.SubmittedOrderRecipinetPackageInternationalShippingView.[order]
--ORDER BY dbo.SubmittedOrder.priority DESC,
dbo.SubmittedOrder.expectedShipDate, dbo.SubmittedOrder.submittedDate


That is a view I need to adjust candidates for shipping date changes.

I have others that take an abortion like that as the first step and apply
it's output to a secondary process.

I hate those!


--
Stephen Russell
Sr. Production Systems Programmer
Mimeo.com
Memphis TN

901.246-0159


--- StripMime Report -- processed MIME parts ---
multipart/alternative
text/plain (text body -- kept)
text/html
---


 
©2008 Stephen Russell
<-- Prior Message New Search Next Message -->