I think you've overcomplicating things by separating 'spell details' into its own table, considering that is simply the min/max damage values. Instead just include those on the spell directly, and as a user levels up, change which spell id's are associated with that user.
Not only will that be easier to query, but it's a considerably easier data model to maintain.
Also, just for future reference, it's somewhat unrealistic to expect an immediate response to any and every question in the forum at any time of day, based on the times shown of your original post and sadface followup, you didn't even wait a full hour for anyone to respond... and along with that, your original post is a bit vague, the more clearly you ask your question the more quickly you'll generally receive answers.
Yeah sorry if i'm not clear.
But the problem is that the min and max value are increased according to the spell lvl , so you think the spell_details table is useless ?
in SPELL_DETAILS we find the spell "magic arrow", and we know in "SPELL_DETAILS", that the lvl 1 of magic arrow will deals 13 to 16 damage, the lvl 2 will deal 16 to 18 damage etc...
and in USER_SPELLS, if the user has increased the spell "magic arrow" to level 2, thanks to the "SPELL_DETAILS" table we'll know how much deals the lvl 2 of the spell "magic arrow".
@Lajavel Personally, instead of having “min” and “max”, I’d just have a table that has the level and an “upper” limit. What would happen if you added a row for levels 1 to 10, and then another for 12 to 20? What happens if a user was level 11?