Niepoprawny przypadek w nazwie kolumny podzapytania powoduje niepoprawne wyniki, ale bez błędu

Korzystając z SQL Server Management Studio, otrzymuję niepożądane wyniki (dla mnie wygląda na błąd ..?)

Jeśli używam (POLE zamiast pola dla innej tabeli):

SELECT * FROM main_table WHERE field IN (SELECT FIELD FROM other_table)

Otrzymuję wszystkie wyniki z tabeli głównej.

Używając właściwego przypadku:

SELECT * FROM main_table WHERE field IN (SELECT field FROM other_table)

Otrzymuję oczekiwane wyniki, gdy pole pojawia się w innych.

Uruchamianie podzapytania we własnym zakresie:

SELECT FIELD FROM other_table

Otrzymuję nieprawidłowy błąd nazwy kolumny.

Z pewnością powinienem uzyskać ten błąd w pierwszym przypadku?

Czy jest to związane z sortowaniem? DB jest układem binarnym. Serwer jednak nie uwzględnia wielkości liter. Wydaje mi się, że komponent serwera mówi „ten kod jest OK” i nie pozwala DB powiedzieć, że pole jest niewłaściwą nazwą…?

Jakie mam opcje rozwiązania?

questionAnswers(2)

yourAnswerToTheQuestion