T-SQL: где xxx IN временная таблица
У меня есть временная таблица, и я хочу 9X_where проверить в предложении where, содержится 9X_sql-srever ли в временной таблице определенный идентификатор 9X_temp-tables / строка.
Select...
WHERE MyId IN MyTempTable
Я получаю общую ошибку в студии 9X_temp-tables управления MS SQL.
не подходит ли оператор 9X_sql-srever "In" для временных таблиц?
25
m
maldecido
2
Общее количество ответов: 2
Ответ #1
Ответ на вопрос: T-SQL: где xxx IN временная таблица
Ваш синтаксис неверен:
SELECT ...
FROM MyTable
WHERE MyID IN (SELECT MyID
FROM MyTempTable)
Мне не очень нравится 9X_sql-srever оператор IN, поэтому я предпочитаю это:
SELECT ...
FROM MyTable
WHERE EXISTS (SELECT *
FROM MyTempTable
WHERE MyTable.MyID = MyID)
Но 9X_temp-tables это во многом дело вкуса.
33
H
Hackwrench
- @gbn: Как я уже сказал, это во многом вопрос вкуса, но мои доводы больше основаны на моем понимании реляционной модели, чем просто на согласованности. ...
Ответ #2
Ответ на вопрос: T-SQL: где xxx IN временная таблица
Ваш синтаксис немного неверен. Вам необходимо 9X_ms-sql-server сделать:
SELECT ...
FROM ...
WHERE MyId IN (SELECT MyId
FROM MyTempTable);
5
Q
Quenavere
-
5
-
3
-
3
-
6
-
12
-
11
-
2
-
6
-
2
-
1
-
2
-
13
-
9
-
15
-
3
-
4
-
12
-
6
-
3
-
4
-
5
-
5
-
3
-
5
-
9
-
2
-
2
-
14
-
6
-
2
-
5
-
4
-
4
-
4
-
2
-
3
-
3
-
3
-
2
-
1
-
2
-
2
-
1
-
1
-
7
-
5
-
2
-
7
-
2
-
3