Thank you, Simon and Owen.

I have tried and both solutions work equally well.  I have actually used C code 
to make the calculation as I pull out the data.
But to help further my understanding of SQL/SQLite, can anyone comment on 
potential performance differences of the 2 SQL solutions.

CREATE VIEW IF NOT EXISTS [vw_patterns0] AS 
SELECT Patterns.Name AS Pattern, 
       Patterns.Origin_X, 
       Patterns.Origin_Y, 
       Patterns.wMicrons, 
       Patterns.hMicrons, 
       COUNT(DISTINCT Offset_X) AS nTilesX, 
       COUNT(DISTINCT Offset_Y) AS nTilesY, 
       Patterns.wPixels,
       Patterns.hPixels,       
       Patterns.wMicrons * COUNT(DISTINCT Offset_X) AS wTotalMicrons,
       Patterns.hMicrons * COUNT(DISTINCT Offset_Y) AS hTotalMicrons,
       Patterns.wPixels * COUNT(DISTINCT Offset_X) AS wTotalPixels,
       Patterns.hPixels * COUNT(DISTINCT Offset_Y) AS hTotalPixels,
       Patterns.Description 
FROM [Tiles] INNER JOIN Patterns ON Tiles.PatternID = Patterns.PatternID 
GROUP BY Tiles.PatternID;

CREATE VIEW IF NOT EXISTS [vw_patterns1] AS 
SELECT Patterns.Name AS Pattern, 
       Patterns.Origin_X, 
       Patterns.Origin_Y, 
       Patterns.wMicrons, 
       Patterns.hMicrons, 
       COUNT(DISTINCT Offset_X) AS nTilesX, 
       COUNT(DISTINCT Offset_Y) AS nTilesY, 
       Patterns.wPixels,
       Patterns.hPixels,
       Patterns.Description 
FROM [Tiles] INNER JOIN Patterns ON Tiles.PatternID = Patterns.PatternID 
GROUP BY Tiles.PatternID;

CREATE VIEW IF NOT EXISTS [vw_patterns2] AS 
SELECT Pattern, 
       Origin_X, 
       Origin_Y, 
       wMicrons, 
       hMicrons, 
       nTilesX, 
       nTilesY, 
       wMicrons * nTilesX AS wTotalMicrons,
       hMicrons * nTilesY AS hTotalMicrons,
       wPixels * nTilesX AS wTotalPixels,
       hPixels * nTilesY AS hTotalPixels,
       wPixels,
       hPixels,
       Description 
FROM [vw_patterns1];
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to