Hi Richard,
I tend to use a series of CREATE VIEW AS SELECT type statements to
effectively nest my SELECT statements, making them more humanly
editable and manageable. Consequently, the size of the maximum sized
single SQL statement is reduced, though the total SQL statement
effectively executed may be reasonably large. So I don't know if such
a series would be of use to look at, for your purposes.
In any case, below is a series of nested CREATE VIEW ... AS SELECT
statements, which if combined into the one that effectively runs when
the first "Aligned_All_Accept" is run, is quite large (larger than
the sum of its parts). The longest single SQL statement is probably
the view called "Structured_Amicroe".
For the curious, this set of views modifies the varied source price
list data from five supplier price lists into one homogeneous view,
selectively adding calculated fields (such as image URLs) and
removing records with dodgy data.
Tom
CREATE VIEW Aligned_All_Accept AS
SELECT * FROM Aligned_All EXCEPT SELECT * FROM Aligned_All_Reject
CREATE VIEW Aligned_All_Reject AS
SELECT * FROM Aligned_All WHERE Buy = 0 OR Buy * 1.1 > RRP AND RRP
IS NOT NULL AND RRP > 0
CREATE VIEW Aligned_All AS
SELECT * FROM Aligned_Amicroe
UNION ALL
SELECT * FROM Aligned_Apple
UNION ALL
SELECT * FROM Aligned_BlueChipIT
UNION ALL
SELECT * FROM Aligned_MacSense
UNION ALL
SELECT * FROM Aligned_PowerMove
UNION ALL SELECT * FROM Aligned_Simms
CREATE VIEW Aligned_Amicroe AS
SELECT rowid, Supplier, Category, Category2, Category3, Code,
Description, NULL AS Detail, NULL AS Thumbnail, NULL AS Image, NULL
AS Manufacturer, NULL AS URL, NULL AS Warranty, Buy, NULL AS RRP,
Sell, NULL AS Stock, NULL AS Ordered, NULL AS Due, Modified FROM
Calculated_Amicroe
CREATE VIEW Aligned_Apple AS
SELECT rowid, Supplier, Category, Category2, Category3, Code,
Description, Detail, NULL AS Thumbnail, Image, Manufacturer, NULL AS
URL, Warranty, Buy, RRP, Sell, Stock, NULL AS Ordered, NULL AS Due,
Modified FROM Calculated_Apple
CREATE VIEW Aligned_BlueChipIT AS
SELECT rowid, Supplier, Category, Category2, NULL AS Category3,
Code, Description, Detail, Thumbnail, Image, Manufacturer, NULL AS
URL, NULL AS Warranty, Buy, NULL AS RRP, Sell, Stock, Ordered, Due,
Modified FROM Calculated_BlueChipIT
CREATE VIEW Aligned_MacSense AS
SELECT rowid, Supplier, Category, Category2, Category3, Code,
Description, Detail, NULL AS Thumbnail, Image, NULL AS Manufacturer,
URL, NULL AS Warranty, Buy, RRP, Sell, NULL AS Stock, NULL AS
Ordered, NULL AS Due, Modified FROM Calculated_MacSense ORDER BY lower
(Category), lower(Category2), lower(Category3)
CREATE VIEW Aligned_PowerMove AS
SELECT rowid, Supplier, Category, Category2, NULL AS Category3,
Code, Description, Detail, NULL AS Thumbnail, Image, NULL AS
Manufacturer, NULL AS URL, NULL AS Warranty, Buy, RRP, Sell, Stock,
NULL AS Ordered, NULL AS Due, Modified FROM Calculated_PowerMove
CREATE VIEW Aligned_Simms AS
SELECT rowid, Supplier, Category, Category2, Category3, Code,
Description, Detail, NULL AS Thumbnail, Image, Manufacturer, NULL AS
URL, Warranty, Buy, RRP, Sell, Stock, NULL AS Ordered, NULL AS Due,
Modified FROM Calculated_Simms
CREATE VIEW Calculated_Amicroe AS
SELECT rowid, Category, Category2, Category3, Code,
Products.Description AS Description, Buy, Products.Modified AS
Modified, 'Amicroe' AS Supplier, Round(Buy * 1.1 * 1.13 + 0.5) AS
Sell FROM Structured_Amicroe AS Products JOIN Suppliers ON
Suppliers.Name='Amicroe' WHERE Buy IS NOT NULL AND Buy > 0.0
CREATE VIEW Calculated_Apple AS
SELECT rowid, Category, Category2, Category3, Code,
Products.Description AS Description, Detail, CASE WHEN Image LIKE '%
CPP00869.JPG' OR Image LIKE '%CPP00011.JPG' OR Image LIKE '%
CPP00014.JPG' OR Image LIKE '%simmsnoimage.jpg' THEN NULL ELSE
'http://www.simms.com.au/direct/' || Image END AS Image,
Manufacturer, Warranty, Buy, RRP, Stock, Products.Modified AS
Modified, 'Apple' AS Supplier, CASE WHEN RRP NOTNULL AND RRP > 0 AND
Round(Buy * 1.1 * (1 + Markup) + 0.5) > RRP THEN Round((Buy * 1.1 * 2
+ RRP * 8) / 10) ELSE Round(Buy * 1.1 * (1 + Markup) + 0.5) END AS
Sell FROM Structured_Apple AS Products JOIN Suppliers ON
Suppliers.Name='Apple'
CREATE VIEW Calculated_BlueChipIT AS
SELECT rowid, Category, Category2, Code, Products.Description AS
Description, Detail, Manufacturer, Buy, Stock, Ordered, Due, 'http://
www.bluechipit.com.au/content/_images/' || Code || '_sm.jpg' AS
Thumbnail, 'http://www.bluechipit.com.au/content/_images/' || Code ||
'_lg.jpg' AS Image, Products.Modified AS Modified, 'BlueChipIT' AS
Supplier, Round(Buy * 1.1 * (1 + Markup) + 0.5) AS Sell FROM
Structured_BlueChipIT AS Products JOIN Suppliers ON
Suppliers.Name='BlueChipIT' WHERE Category != 'Services'
CREATE VIEW Calculated_MacSense AS
SELECT rowid, Category, Category2, Category3, Code,
Products.Description AS Description, Detail, Image, Manufacturer,
URL, Buy, RRP, Compatibility, Products.Modified AS Modified,
'MacSense' AS Supplier, CASE WHEN RRP NOTNULL AND RRP > 0 AND Round
(Buy * 1.1 * (1 + Markup) + 0.5) > RRP THEN Round((Buy * 1.1 * 2 +
RRP * 8) / 10) ELSE Round(Buy * (1 + Markup) * 1.13 + 0.5) END AS
Sell FROM Structured_MacSense AS Products JOIN Suppliers ON
Suppliers.Name='MacSense'
CREATE VIEW Calculated_PowerMove AS
SELECT rowid, Category, Category2, Code, Description, Detail, Buy,
RRP, Stock, 'http://www.powermove.com.au/images/' || Code || '.jpg'
AS Image, Modified, 'PowerMove' AS Supplier, CASE WHEN RRP NOTNULL
AND RRP > 0 AND Round(Buy * 1.1 * 1.13 + 0.5) > RRP THEN Round((Buy *
1.1 * 2 + RRP * 8) / 10) ELSE Round(Buy * 1.1 * 1.13 + 0.5) END AS
Sell FROM Structured_PowerMove
CREATE VIEW Calculated_Simms AS
SELECT rowid, Category, Category2, Category3, Code,
Products.Description AS Description, Detail, CASE WHEN Image LIKE '%
CPP00869.JPG' OR Image LIKE '%CPP00011.JPG' OR Image LIKE '%
CPP00014.JPG' OR Image LIKE '%simmsnoimage.jpg' THEN NULL ELSE
'http://www.simms.com.au/direct/' || Image END AS Image,
Manufacturer, Warranty, Buy, RRP, Stock, Products.Modified AS
Modified, 'Simms' AS Supplier, CASE WHEN RRP NOTNULL AND RRP > 0 AND
Round(Buy * 1.1 * (1 + Markup) + 0.5) > RRP THEN Round((Buy * 1.1 * 2
+ RRP * 8) / 10) ELSE Round(Buy * 1.1 * (1 + Markup) + 0.5) END AS
Sell FROM Structured_Simms AS Products JOIN Suppliers ON
Suppliers.Name='Simms'
CREATE VIEW Desummarized_Amicroe AS
SELECT rowid, 'RAM' AS Category, (SELECT B.Code FROM
Supplier_Amicroe_RAM AS B WHERE B.rowid = (SELECT Max(C.rowid) FROM
Supplier_Amicroe_RAM AS C WHERE C.Code IS NOT NULL AND C.Code NOT
LIKE 'Reseller%' AND C.Description IS NULL AND C.rowid < A.rowid)) AS
Category2, A.Code AS Code, A.Description AS Description, A.ExTax AS
Buy, Modified FROM Supplier_Amicroe_RAM AS A WHERE A.Description IS
NOT NULL
CREATE VIEW Structured_Amicroe AS
SELECT rowid, Category, CASE WHEN Category2 LIKE 'G_ PowerBook %'
THEN 'PowerBook ' || substr( Category2, 1, 2 ) WHEN Category2 LIKE
'MacBook Pro %' THEN 'MacBook Pro' WHEN Category2 LIKE 'Mac Mini %'
THEN 'Mac Mini' WHEN Category2 LIKE 'PowerMac G_ %' THEN 'PowerMac'
|| substr( Category2, 9, 3 ) WHEN Category2 LIKE 'eMac %' THEN 'eMac'
WHEN Category2 LIKE 'iMac%' THEN 'iMac' WHEN Category2 LIKE 'iBook %'
THEN 'iBook' WHEN Category2 LIKE 'PowerBook G4 %' OR Category2 LIKE
'PowerBook G4 %' THEN 'PowerBook G4' WHEN Category2 LIKE 'xServe %'
THEN 'xServe' ELSE Category2 END AS Category2, CASE WHEN Category2
LIKE 'G_ PowerBook%' THEN substr( Category2, 14, 99 ) WHEN Category2
LIKE 'MacBook Pro %' THEN substr( Category2, 13, 99 ) WHEN Category2
LIKE 'Mac Mini %' THEN substr( Category2, 10, 99 ) WHEN Category2
LIKE 'PowerMac G_ %' THEN substr( Category2, 13, 99 ) WHEN Category2
LIKE 'eMac %' THEN substr( Category2, 6, 99 ) WHEN Category2 LIKE
'iMac %' THEN substr( Category2, 6, 99 ) WHEN Category2 LIKE 'iMac-
%' THEN substr( Category2, 7, 99 ) WHEN Category2 LIKE 'iBook %'
THEN substr( Category2, 8, 99 ) WHEN Category2 LIKE 'iBook %' THEN
substr( Category2, 7, 99 ) WHEN Category2 LIKE 'PowerBook G4 %' THEN
substr( Category2, 14, 99 ) WHEN Category2 LIKE 'PowerBook G4 %'
THEN substr( Category2, 15, 99 ) WHEN Category2 LIKE 'xServe %' THEN
substr( Category2, 8, 99 ) ELSE NULL END AS Category3, Code,
Description, Buy, Modified FROM Desummarized_Amicroe
CREATE VIEW Structured_Apple AS
SELECT rowid, Category, Category2, Category3, [Our Part] AS Code,
Description, Detail, Image, Vendor AS Manufacturer, CASE Warranty
WHEN 'N/A' THEN NULL ELSE Warranty END AS Warranty, [Price Ex GST] AS
Buy, [RRP Inc GST] AS RRP, [Stock Brisbane] + [Stock Sydney] + [Stock
Melbourne] AS Stock, Modified FROM Supplier_Simms WHERE Vendor LIKE
'Apple'
CREATE VIEW Structured_BlueChipIT AS
SELECT rowid, Category, [Group] AS Category2, Part AS Code,
Description, Details AS Detail, Manufacturer, Cost AS Buy, Qty AS
Stock, StockOnOrderQty AS Ordered, StockOnOrderDueDate AS Due,
Modified FROM Supplier_BlueChipIT
CREATE VIEW Structured_MacSense AS
SELECT rowid, Category, CASE WHEN Category2 IS NULL AND Category
NOT LIKE Section THEN Section ELSE Category2 END AS Category2, CASE
WHEN Category2 NOT NULL AND Category3 IS NULL AND Category2 NOT LIKE
Section THEN Section ELSE Category3 END AS Category3, Code, Title AS
Description, Description || CASE WHEN Features IS NULL THEN '' ELSE '
<br />
<br />
' || Features END AS Detail, Image, Supplier AS Manufacturer, CASE
WHEN [Manufacturer Website] LIKE 'www.%' THEN 'http://' ||
[Manufacturer Website] ELSE [Manufacturer Website] END AS URL, Buy,
RRP, Compatibility, Modified FROM Supplier_MacSense
CREATE VIEW Structured_PowerMove AS
SELECT rowid, Category, [Group] AS Category2, Code,
DescriptionNoLink AS Description, ExtendedDescription AS Detail,
Price AS Buy, RecommendedRetailPrice AS RRP, AvailableQuantity AS
Stock, Modified FROM Supplier_PowerMove_Web
CREATE VIEW Structured_Simms AS
SELECT rowid, Category, CASE Category2 WHEN 'ValueRAM' THEN
Category3 ELSE Category2 END AS Category2, CASE Category2 WHEN
'ValueRAM' THEN Category4 ELSE Category3 END AS Category3, [Our Part]
AS Code, Description, Detail, Image, Vendor AS Manufacturer, CASE
Warranty WHEN 'N/A' THEN NULL ELSE Warranty END AS Warranty, [Price
Ex GST] AS Buy, [RRP Inc GST] AS RRP, [Stock Brisbane] + [Stock
Sydney] + [Stock Melbourne] AS Stock, Modified FROM Supplier_Simms
WHERE NOT (Vendor LIKE 'Apple')
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------