diff --git a/DATabase/Generate.cs b/DATabase/Generate.cs index e6322131..1c3e199e 100644 --- a/DATabase/Generate.cs +++ b/DATabase/Generate.cs @@ -241,13 +241,10 @@ JOIN checksums (!srcmerged && !sysmerged ? " AND" : "") + (!sysmerged ? " systems.id=" + _system : "") + "\n" + (sysmerged && srcmerged ? "\nWHERE" : " AND") + -" files.id IN ( SELECT file from checksums WHERE file IN (" + -" SELECT file FROM checksums WHERE file IN (" + -" SELECT file FROM checksums" + - (merged ? "\nGROUP BY size, sha1" : "") + " )" + - (merged ? "\nGROUP BY size, md5" : "") + " )" + - (merged ? "\nGROUP BY size, crc" : "") + " )" + - (merged ? "\nGROUP BY checksums.size, checksums.md5, checksums.sha1" : "") + +"\n files.id IN ( SELECT checksums.file FROM checksums JOIN files ON checksums.file=files.id WHERE files.type='rom'" + + (merged ? "\nGROUP BY checksums.size, checksums.crc" : "") + " )" + +"\n OR files.id IN ( SELECT checksums.file FROM checksums JOIN files ON checksums.file=files.id WHERE files.type='disk'" + + (merged ? "\nGROUP BY checksums.sha1" : "") + " )" + "\nORDER BY systems.id, sources.id, games.name, files.name"; using (SQLiteConnection dbc = new SQLiteConnection(_connectionString))