[SPARK-3698][SQL] Correctly check case sensitivity in GetField

This PR is a follow up to https://github.com/apache/spark/pull/2382
It fix a bug when resolve something like `a.b[0].c.d`, https://github.com/apache/spark/pull/2382 only do case sensitive check when resolve `Unresolved("a.b")` to `GetField(Attribute("a"), "b")`, but not `c` and `d`.
Here we can check to see if the field actually exists in Struct, otherwise `resolved = false`