On 30-5-2015 02:53, Etienne Charland wrote: > I'm using SQLiteStudio. > > It's not easy to run it manually because of how the parameters must be > passed, and the function that doesn't exist within the database. > > I tried replacing all parameters by their value, and replacing the function > with a simple multiplication. It throws an error, but doesn't tell me > anything about the error. So it fails... but it could be because I made an > error in editing it, or because it is too long. > > Here's the script I'm running. > > Most likely I'm running into a limit of SQLite engine? > > > SELECT > [Project27].[MediaTypeId] AS [MediaTypeId], > [Project27].[MediaId] AS [MediaId], > [Project27].[Artist] AS [Artist], > [Project27].[Title] AS [Title], > [Project27].[Album] AS [Album], > [Project27].[MediaCategoryId] AS [MediaCategoryId], > [Project27].[FileName] AS [FileName], > [Project27].[Preference] AS [Preference], > [Project27].[C1] AS [C1], > [Project27].[C2] AS [C2], > [Project27].[BuyUrl] AS [BuyUrl], > [Project27].[C5] AS [C3], > [Project27].[C6] AS [C4], > [Project27].[C7] AS [C5], > [Project27].[C8] AS [C6], > [Project27].[C9] AS [C7], > [Project27].[C10] AS [C8], > [Project27].[C11] AS [C9], > [Project27].[C12] AS [C10], > [Project27].[C3] AS [C11], > [Project27].[C4] AS [C12] > FROM ( SELECT > [Project26].[MediaId] AS [MediaId], > [Project26].[MediaTypeId] AS [MediaTypeId], > [Project26].[Artist] AS [Artist], > [Project26].[Title] AS [Title], > [Project26].[Album] AS [Album], > [Project26].[MediaCategoryId] AS [MediaCategoryId], > [Project26].[FileName] AS [FileName], > [Project26].[Preference] AS [Preference], > [Project26].[BuyUrl] AS [BuyUrl], > [Project26].[Length] AS [C1], > CASE WHEN ('' <> [Project26].[DownloadUrl]) THEN 1 WHEN ('' = > [Project26].[DownloadUrl]) THEN 0 END AS [C2], > CASE WHEN (('' IS NULL) OR ((LENGTH('')) = 0)) THEN NULL ELSE > [Project26].[C9] END AS [C3], > 1 AS [C4], > [Project26].[C1] AS [C5], > [Project26].[C2] AS [C6], > [Project26].[C3] AS [C7], > [Project26].[C4] AS [C8], > [Project26].[C5] AS [C9], > [Project26].[C6] AS [C10], > [Project26].[C7] AS [C11], > [Project26].[C8] AS [C12] > FROM ( SELECT > [Project24].[MediaId] AS [MediaId], > [Project24].[MediaTypeId] AS [MediaTypeId], > [Project24].[Artist] AS [Artist], > [Project24].[Title] AS [Title], > [Project24].[Album] AS [Album], > [Project24].[MediaCategoryId] AS [MediaCategoryId], > [Project24].[FileName] AS [FileName], > [Project24].[Preference] AS [Preference], > [Project24].[Length] AS [Length], > [Project24].[DownloadUrl] AS [DownloadUrl], > [Project24].[BuyUrl] AS [BuyUrl], > [Project24].[C1] AS [C1], > [Project24].[C2] AS [C2], > [Project24].[C3] AS [C3], > [Project24].[C4] AS [C4], > [Project24].[C5] AS [C5], > [Project24].[C6] AS [C6], > [Project24].[C7] AS [C7], > [Project24].[C8] AS [C8], > (SELECT > ([Extent18].[Height] * [Extent18].[Depth]) AS [C1] > FROM [MediaRatings] AS [Extent18] > INNER JOIN [RatingCategories] AS [Extent19] ON > [Extent18].[RatingId] = [Extent19].[RatingId] > WHERE (([Project24].[MediaId] = [Extent18].[MediaId]) AND > (([Extent19].[Name] = '') OR (1 = 0))) AND ([Extent19].[Custom] = 1) LIMIT 1) > AS [C9] > FROM ( SELECT > [Project23].[MediaId] AS [MediaId], > [Project23].[MediaTypeId] AS [MediaTypeId], > [Project23].[Artist] AS [Artist], > [Project23].[Title] AS [Title], > [Project23].[Album] AS [Album], > [Project23].[MediaCategoryId] AS [MediaCategoryId], > [Project23].[FileName] AS [FileName], > [Project23].[Preference] AS [Preference], > [Project23].[Length] AS [Length], > [Project23].[DownloadUrl] AS [DownloadUrl], > [Project23].[BuyUrl] AS [BuyUrl], > [Project23].[C1] AS [C1], > [Project23].[C2] AS [C2], > [Project23].[C3] AS [C3], > [Project23].[C4] AS [C4], > [Project23].[C5] AS [C5], > [Project23].[C6] AS [C6], > [Project23].[C7] AS [C7], > [Project23].[C8] AS [C8] > FROM ( SELECT > [Project21].[MediaId] AS [MediaId], > [Project21].[MediaTypeId] AS [MediaTypeId], > [Project21].[Artist] AS [Artist], > [Project21].[Title] AS [Title], > [Project21].[Album] AS [Album], > [Project21].[MediaCategoryId] AS [MediaCategoryId], > [Project21].[FileName] AS [FileName], > [Project21].[Preference] AS [Preference], > [Project21].[Length] AS [Length], > [Project21].[DownloadUrl] AS [DownloadUrl], > [Project21].[BuyUrl] AS [BuyUrl], > [Project21].[C1] AS [C1], > [Project21].[C2] AS [C2], > [Project21].[C3] AS [C3], > [Project21].[C4] AS [C4], > [Project21].[C5] AS [C5], > [Project21].[C6] AS [C6], > [Project21].[C7] AS [C7], > (SELECT > ([Extent16].[Height] * [Extent16].[Depth] AS [C1] > FROM [MediaRatings] AS [Extent16] > INNER JOIN [RatingCategories] AS [Extent17] ON > [Extent16].[RatingId] = [Extent17].[RatingId] > WHERE ([Project21].[MediaId] = [Extent16].[MediaId]) AND > ('Egoless' = [Extent17].[Name]) LIMIT 1) AS [C8] > FROM ( SELECT > [Project20].[MediaId] AS [MediaId], > [Project20].[MediaTypeId] AS [MediaTypeId], > [Project20].[Artist] AS [Artist], > [Project20].[Title] AS [Title], > [Project20].[Album] AS [Album], > [Project20].[MediaCategoryId] AS [MediaCategoryId], > [Project20].[FileName] AS [FileName], > [Project20].[Preference] AS [Preference], > [Project20].[Length] AS [Length], > [Project20].[DownloadUrl] AS [DownloadUrl], > [Project20].[BuyUrl] AS [BuyUrl], > [Project20].[C1] AS [C1], > [Project20].[C2] AS [C2], > [Project20].[C3] AS [C3], > [Project20].[C4] AS [C4], > [Project20].[C5] AS [C5], > [Project20].[C6] AS [C6], > [Project20].[C7] AS [C7] > FROM ( SELECT > [Project18].[MediaId] AS [MediaId], > [Project18].[MediaTypeId] AS [MediaTypeId], > [Project18].[Artist] AS [Artist], > [Project18].[Title] AS [Title], > [Project18].[Album] AS [Album], > [Project18].[MediaCategoryId] AS [MediaCategoryId], > [Project18].[FileName] AS [FileName], > [Project18].[Preference] AS [Preference], > [Project18].[Length] AS [Length], > [Project18].[DownloadUrl] AS [DownloadUrl], > [Project18].[BuyUrl] AS [BuyUrl], > [Project18].[C1] AS [C1], > [Project18].[C2] AS [C2], > [Project18].[C3] AS [C3], > [Project18].[C4] AS [C4], > [Project18].[C5] AS [C5], > [Project18].[C6] AS [C6], > (SELECT > ([Extent14].[Height] * [Extent14].[Depth]) AS > [C1] > FROM [MediaRatings] AS [Extent14] > INNER JOIN [RatingCategories] AS [Extent15] ON > [Extent14].[RatingId] = [Extent15].[RatingId] > WHERE ([Project18].[MediaId] = > [Extent14].[MediaId]) AND ('Love' = [Extent15].[Name]) LIMIT 1) AS [C7] > FROM ( SELECT > [Project17].[MediaId] AS [MediaId], > [Project17].[MediaTypeId] AS [MediaTypeId], > [Project17].[Artist] AS [Artist], > [Project17].[Title] AS [Title], > [Project17].[Album] AS [Album], > [Project17].[MediaCategoryId] AS > [MediaCategoryId], > [Project17].[FileName] AS [FileName], > [Project17].[Preference] AS [Preference], > [Project17].[Length] AS [Length], > [Project17].[DownloadUrl] AS [DownloadUrl], > [Project17].[BuyUrl] AS [BuyUrl], > [Project17].[C1] AS [C1], > [Project17].[C2] AS [C2], > [Project17].[C3] AS [C3], > [Project17].[C4] AS [C4], > [Project17].[C5] AS [C5], > [Project17].[C6] AS [C6] > FROM ( SELECT > [Project15].[MediaId] AS [MediaId], > [Project15].[MediaTypeId] AS [MediaTypeId], > [Project15].[Artist] AS [Artist], > [Project15].[Title] AS [Title], > [Project15].[Album] AS [Album], > [Project15].[MediaCategoryId] AS > [MediaCategoryId], > [Project15].[FileName] AS [FileName], > [Project15].[Preference] AS [Preference], > [Project15].[Length] AS [Length], > [Project15].[DownloadUrl] AS [DownloadUrl], > [Project15].[BuyUrl] AS [BuyUrl], > [Project15].[C1] AS [C1], > [Project15].[C2] AS [C2], > [Project15].[C3] AS [C3], > [Project15].[C4] AS [C4], > [Project15].[C5] AS [C5], > (SELECT > ([Extent12].[Height] * > [Extent12].[Depth]) AS [C1] > FROM [MediaRatings] AS [Extent12] > INNER JOIN [RatingCategories] AS > [Extent13] ON [Extent12].[RatingId] = [Extent13].[RatingId] > WHERE ([Project15].[MediaId] = > [Extent12].[MediaId]) AND ('Spiritual Feminine' = [Extent13].[Name]) LIMIT 1) > AS [C6] > FROM ( SELECT > [Project14].[MediaId] AS [MediaId], > [Project14].[MediaTypeId] AS > [MediaTypeId], > [Project14].[Artist] AS [Artist], > [Project14].[Title] AS [Title], > [Project14].[Album] AS [Album], > [Project14].[MediaCategoryId] AS > [MediaCategoryId], > [Project14].[FileName] AS [FileName], > [Project14].[Preference] AS [Preference], > [Project14].[Length] AS [Length], > [Project14].[DownloadUrl] AS > [DownloadUrl], > [Project14].[BuyUrl] AS [BuyUrl], > [Project14].[C1] AS [C1], > [Project14].[C2] AS [C2], > [Project14].[C3] AS [C3], > [Project14].[C4] AS [C4], > [Project14].[C5] AS [C5] > FROM ( SELECT > [Project12].[MediaId] AS [MediaId], > [Project12].[MediaTypeId] AS > [MediaTypeId], > [Project12].[Artist] AS [Artist], > [Project12].[Title] AS [Title], > [Project12].[Album] AS [Album], > [Project12].[MediaCategoryId] AS > [MediaCategoryId], > [Project12].[FileName] AS [FileName], > [Project12].[Preference] AS > [Preference], > [Project12].[Length] AS [Length], > [Project12].[DownloadUrl] AS > [DownloadUrl], > [Project12].[BuyUrl] AS [BuyUrl], > [Project12].[C1] AS [C1], > [Project12].[C2] AS [C2], > [Project12].[C3] AS [C3], > [Project12].[C4] AS [C4], > (SELECT > ([Extent10].[Height] * > [Extent10].[Depth]) AS [C1] > FROM [MediaRatings] AS > [Extent10] > INNER JOIN [RatingCategories] AS > [Extent11] ON [Extent10].[RatingId] = [Extent11].[RatingId] > WHERE ([Project12].[MediaId] = > [Extent10].[MediaId]) AND ('Spiritual Masculine' = [Extent11].[Name]) LIMIT > 1) AS [C5] > FROM ( SELECT > [Project11].[MediaId] AS > [MediaId], > [Project11].[MediaTypeId] AS > [MediaTypeId], > [Project11].[Artist] AS [Artist], > [Project11].[Title] AS [Title], > [Project11].[Album] AS [Album], > [Project11].[MediaCategoryId] AS > [MediaCategoryId], > [Project11].[FileName] AS > [FileName], > [Project11].[Preference] AS > [Preference], > [Project11].[Length] AS [Length], > [Project11].[DownloadUrl] AS > [DownloadUrl], > [Project11].[BuyUrl] AS [BuyUrl], > [Project11].[C1] AS [C1], > [Project11].[C2] AS [C2], > [Project11].[C3] AS [C3], > [Project11].[C4] AS [C4] > FROM ( SELECT > [Project9].[MediaId] AS > [MediaId], > [Project9].[MediaTypeId] AS > [MediaTypeId], > [Project9].[Artist] AS > [Artist], > [Project9].[Title] AS > [Title], > [Project9].[Album] AS > [Album], > [Project9].[MediaCategoryId] > AS [MediaCategoryId], > [Project9].[FileName] AS > [FileName], > [Project9].[Preference] AS > [Preference], > [Project9].[Length] AS > [Length], > [Project9].[DownloadUrl] AS > [DownloadUrl], > [Project9].[BuyUrl] AS > [BuyUrl], > [Project9].[C1] AS [C1], > [Project9].[C2] AS [C2], > [Project9].[C3] AS [C3], > (SELECT > ([Extent8].[Height] * > [Extent8].[Depth]) AS [C1] > FROM [MediaRatings] AS > [Extent8] > INNER JOIN > [RatingCategories] AS [Extent9] ON [Extent8].[RatingId] = [Extent9].[RatingId] > WHERE > ([Project9].[MediaId] = [Extent8].[MediaId]) AND ('Emotional Feminine' = > [Extent9].[Name]) LIMIT 1) AS [C4] > FROM ( SELECT > [Project8].[MediaId] AS > [MediaId], > [Project8].[MediaTypeId] > AS [MediaTypeId], > [Project8].[Artist] AS > [Artist], > [Project8].[Title] AS > [Title], > [Project8].[Album] AS > [Album], > > [Project8].[MediaCategoryId] AS [MediaCategoryId], > [Project8].[FileName] AS > [FileName], > [Project8].[Preference] > AS [Preference], > [Project8].[Length] AS > [Length], > [Project8].[DownloadUrl] > AS [DownloadUrl], > [Project8].[BuyUrl] AS > [BuyUrl], > [Project8].[C1] AS [C1], > [Project8].[C2] AS [C2], > [Project8].[C3] AS [C3] > FROM ( SELECT > [Project6].[MediaId] > AS [MediaId], > > [Project6].[MediaTypeId] AS [MediaTypeId], > [Project6].[Artist] > AS [Artist], > [Project6].[Title] > AS [Title], > [Project6].[Album] > AS [Album], > > [Project6].[MediaCategoryId] AS [MediaCategoryId], > > [Project6].[FileName] AS [FileName], > > [Project6].[Preference] AS [Preference], > [Project6].[Length] > AS [Length], > > [Project6].[DownloadUrl] AS [DownloadUrl], > [Project6].[BuyUrl] > AS [BuyUrl], > [Project6].[C1] AS > [C1], > [Project6].[C2] AS > [C2], > (SELECT > > ([Extent6].[Height] * [Extent6].[Depth]) AS [C1] > FROM > [MediaRatings] AS [Extent6] > INNER JOIN > [RatingCategories] AS [Extent7] ON [Extent6].[RatingId] = [Extent7].[RatingId] > WHERE > ([Project6].[MediaId] = [Extent6].[MediaId]) AND ('Emotional Masculine' = > [Extent7].[Name]) LIMIT 1) AS [C3] > FROM ( SELECT > > [Project5].[MediaId] AS [MediaId], > > [Project5].[MediaTypeId] AS [MediaTypeId], > > [Project5].[Artist] AS [Artist], > > [Project5].[Title] AS [Title], > > [Project5].[Album] AS [Album], > > [Project5].[MediaCategoryId] AS [MediaCategoryId], > > [Project5].[FileName] AS [FileName], > > [Project5].[Preference] AS [Preference], > > [Project5].[Length] AS [Length], > > [Project5].[DownloadUrl] AS [DownloadUrl], > > [Project5].[BuyUrl] AS [BuyUrl], > [Project5].[C1] > AS [C1], > [Project5].[C2] > AS [C2] > FROM ( SELECT > > [Project3].[MediaId] AS [MediaId], > > [Project3].[MediaTypeId] AS [MediaTypeId], > > [Project3].[Artist] AS [Artist], > > [Project3].[Title] AS [Title], > > [Project3].[Album] AS [Album], > > [Project3].[MediaCategoryId] AS [MediaCategoryId], > > [Project3].[FileName] AS [FileName], > > [Project3].[Preference] AS [Preference], > > [Project3].[Length] AS [Length], > > [Project3].[DownloadUrl] AS [DownloadUrl], > > [Project3].[BuyUrl] AS [BuyUrl], > > [Project3].[C1] AS [C1], > (SELECT > > ([Extent4].[Height] * [Extent4].[Depth]) AS [C1] > FROM > [MediaRatings] AS [Extent4] > INNER > JOIN [RatingCategories] AS [Extent5] ON [Extent4].[RatingId] = > [Extent5].[RatingId] > WHERE > ([Project3].[MediaId] = [Extent4].[MediaId]) AND ('Physical Feminine' = > [Extent5].[Name]) LIMIT 1) AS [C2] > FROM ( SELECT > > [Project2].[MediaId] AS [MediaId], > > [Project2].[MediaTypeId] AS [MediaTypeId], > > [Project2].[Artist] AS [Artist], > > [Project2].[Title] AS [Title], > > [Project2].[Album] AS [Album], > > [Project2].[MediaCategoryId] AS [MediaCategoryId], > > [Project2].[FileName] AS [FileName], > > [Project2].[Preference] AS [Preference], > > [Project2].[Length] AS [Length], > > [Project2].[DownloadUrl] AS [DownloadUrl], > > [Project2].[BuyUrl] AS [BuyUrl], > > [Project2].[C1] AS [C1] > FROM ( > SELECT > > [Extent1].[MediaId] AS [MediaId], > > [Extent1].[MediaTypeId] AS [MediaTypeId], > > [Extent1].[Artist] AS [Artist], > > [Extent1].[Title] AS [Title], > > [Extent1].[Album] AS [Album], > > [Extent1].[MediaCategoryId] AS [MediaCategoryId], > > [Extent1].[FileName] AS [FileName], > > [Extent1].[Preference] AS [Preference], > > [Extent1].[Length] AS [Length], > > [Extent1].[DownloadUrl] AS [DownloadUrl], > > [Extent1].[BuyUrl] AS [BuyUrl], > > (SELECT > > ([Extent2].[Height] * [Extent2].[Depth]) AS [C1] > > FROM [MediaRatings] AS [Extent2] > > INNER JOIN [RatingCategories] AS [Extent3] ON [Extent2].[RatingId] = > [Extent3].[RatingId] > > WHERE ([Extent1].[MediaId] = [Extent2].[MediaId]) AND ('Physical Masculine' = > [Extent3].[Name]) LIMIT 1) AS [C1] > FROM > [Media] AS [Extent1] > > WHERE [Extent1].[MediaTypeId] = 0 > ) AS > [Project2] > ) AS > [Project3] > ) AS [Project5] > ) AS [Project6] > ) AS [Project8] > ) AS [Project9] > ) AS [Project11] > ) AS [Project12] > ) AS [Project14] > ) AS [Project15] > ) AS [Project17] > ) AS [Project18] > ) AS [Project20] > ) AS [Project21] > ) AS [Project23] > ) AS [Project24] > ) AS [Project26] > ) AS [Project27] > ORDER BY [Project27].[C4] DESC, [Project27].[Artist] ASC, [Project27].[Title] > ASC > > >
Maybe you should first add column '[C1]' to the table '[Media]' Because the 'innermost query', which seems to get repeated a couple of times, would get simpler..... Where the 'inner most query' is: SELECT [Extent1].[MediaId] AS [MediaId], [Extent1].[MediaTypeId] AS [MediaTypeId], [Extent1].[Artist] AS [Artist], [Extent1].[Title] AS [Title], [Extent1].[Album] AS [Album], [Extent1].[MediaCategoryId] AS [MediaCategoryId], [Extent1].[FileName] AS [FileName], [Extent1].[Preference] AS [Preference], [Extent1].[Length] AS [Length], [Extent1].[DownloadUrl] AS [DownloadUrl], [Extent1].[BuyUrl] AS [BuyUrl], (SELECT ([Extent2].[Height] * [Extent2].[Depth]) AS [C1] FROM [MediaRatings] AS [Extent2] INNER JOIN [RatingCategories] AS [Extent3] ON [Extent2].[RatingId] = [Extent3].[RatingId] WHERE ([Extent1].[MediaId] = [Extent2].[MediaId]) AND ('Physical Masculine' = [Extent3].[Name]) LIMIT 1) AS [C1] FROM [Media] AS [Extent1] WHERE [Extent1].[MediaTypeId] = 0 And simplified: SELECT [Extent1].[MediaId] AS [MediaId], [Extent1].[MediaTypeId] AS [MediaTypeId], [Extent1].[Artist] AS [Artist], [Extent1].[Title] AS [Title], [Extent1].[Album] AS [Album], [Extent1].[MediaCategoryId] AS [MediaCategoryId], [Extent1].[FileName] AS [FileName], [Extent1].[Preference] AS [Preference], [Extent1].[Length] AS [Length], [Extent1].[DownloadUrl] AS [DownloadUrl], [Extent1].[BuyUrl] AS [BuyUrl], [C1] FROM [Media] AS [Extent1] WHERE [Extent1].[MediaTypeId] = 0 I know that this might 'violate' some normalization rules.... but, they are not invented to make life easy ;)