Чего вы пытаетесь достичь с помощью этого запроса?
В предложении WHERE вы, кажется, думаете, что запрашиваете из двух таблиц:
WHERE b.state = school.state
, но в предложении FROM указывается толькоодна таблица:
FROM school b
В сообщениях об ошибках сообщается, что school.state
является недопустимым идентификатором.На самом деле это так, потому что вы использовали псевдоним таблицы SCHOOL, поэтому в области действия оператора допустим только b.state
.
Я думаю, вы пытаетесь идентифицировать идентификаторы школ, которые находятся в одном и том же состоянии.как и в других школах.В этом случае вам нужно присоединить его к себе, примерно так:
SELECT TOP (20) b.id
FROM school a join school b
on b.state = a.state
and b.id <> a.id