Вложенное предложение SELECT в SQL Compact 3.5
В этом посте " выберите с помощью вложенного выбора" я прочитал, что SQL Compact 3.5 (SP1) поддерживает вложенное предложение SELECT. Но моя просьба не работает:
t1 - таблица 1 t2 - таблица 2 c1, c2 = столбцы
select
t1.c1,
t1.c2,
(select count(t2.c1) from t2 where t2.id = t1.id) as count_t
from
t1
Поддерживает ли SQL Compact 3.5 SP1 вложенное предложение SELECT в этом случае?
Обновить:
SQL Compact 3.5 SP1 работает с этим типом вложенного запроса:
- ВЫБРАТЬ... откуда... где... В (ВЫБРАТЬ...)
- ВЫБРАТЬ... из (ВЫБРАТЬ...)
4 ответа
Спасибо всем за помощь и совет.
Окончательный ответ на вопрос - НЕТ. SQL Compact 3.5 SP1 не поддерживает вложенное предложение select.
Вы пытаетесь приравнять скалярное значение к тому, что условно является набором результатов.
Пытаться
select * from LogMagazines where id IN (select max(id) from UserRoles)
Хорошо, я ответил на вопрос, а вы задали совершенно новый и другой вопрос, который не совсем так, как он должен работать, но чтобы ответить на новый вопрос, вам нужно сделать соединение:
SELECT
t1.c1,
t1.c2,
count_t.c
FROM
t1 JOIN (select id, count(t2.c1) as c from t2 GROUP BY t2.id) count_t
ON t1.id = count_t.id
Или около того
Попробуйте запустить select max(Id) from UserRoles
И убедитесь, что это возвращает правильный результат. Тогда попробуй select * from LogMagazines where id =
С этим результатом, возможно, у вас есть ошибка где-то.
Может быть, вам нужно
select * from LogMagazines where id = (select max id from UserRoles)
?