When using subquery with an alias in the table name, for example: `DB.Table("(SELECT * FROM \"users\") temp").Where("\"name\" = ?", "beforequery_user3").Find(&fetched3).Error` The generated SQL query has incorrect alias for the subquery table. This is the generated sql: SELECT * FROM (SELECT * FROM "users") temp WHERE "name" = 'beforequery_user3' AND **"users"**."deleted_at" IS NULL It should be: SELECT * FROM (SELECT * FROM "users") temp WHERE "name" = 'beforequery_user3' AND **temp**."deleted_at" IS NULL