Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
21 / 4 / 0
Регистрация: 03.01.2017
Сообщений: 127
1

Выборка SELECT как подзапрос

28.10.2017, 20:32. Показов 1240. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Коллеги, привет!

В зависимости от введенных критириев отбора делаю выборку
Visual Basic
1
sel_tbl_strSQL = "SELECT ID FROM TBL WHERE [TBL].[date] between #" & Format(start_date, "mm-dd-yyyy") & "# and #" & Format(end_date, "mm-dd-yyyy") & "#"
далее использую эту выборку в запросе типа

Visual Basic
1
2
3
4
 DB.Execute "INSERT INTO " & _
                "SELECT ID" & _
                "FROM SOURCE_TBL" & _
                "WHERE SOURCE_TBL.ID IN (sel_tbl_strSQL.ID)"
Пишет что не хватает данных

Сама конструкция верна и дейстивтельно не хватает данных, или так делать нельзя в принципе?

Спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2017, 20:32
Ответы с готовыми решениями:

Как в VB писать вложенные подзапрос?
А как в VB писать вложенные подзапросы типа select ... from ... where id = select ... а то не...

ВЫборка подзапрос
Здравствуйте помогите плз. К примеру есть таблица t id name cat 1 nik1 1 2 nik2 1 3 ...

Подзапрос с Select
нужно вытянуть по иерархии: айди предмета, учителя и его имя Select distinct Subject_ID, (...

Подзапрос с несколькими полями в SELECT
Есть вот такой запрос: SELECT Фамилия, Имя, , AVG(!) AS FROM Студенты INNER JOIN Оценки ON...

2
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
28.10.2017, 22:18 2
Лучший ответ Сообщение было отмечено Dmitry_Morozov как решение

Решение

4 ошибки. Одна невнимательность - перед WHERE и FROM нет пробела и строка сливается в нечто нечленораздельное.
Вторая более принципиальная: имя переменной помещенное в строку становится частью текста, а не переменной имеющей значение. Надо выносить ее из строки так, чтобы компилятор понял, что это переменная.
Третья - не указано имя принимающей таблицы. Это безусловная ошибка. К тому же если в принимающей таблице больше одного поля, то необходимо указывать в какое поле будет произведена запись.
Ну и последнее - у обычной текстовой переменной, не объекта, не может быть свойств и методов. Поэтому запись sel_tbl_strSQL.ID неверная.


Предполагая, что ID числового типа, не дата и не стринг:
Visual Basic
1
2
3
4
DB.Execute "INSERT INTO Таблица (ID) " & _
                "SELECT ID " & _
                "FROM SOURCE_TBL " & _
                "WHERE SOURCE_TBL.ID IN (" & sel_tbl_strSQL & ")"
2
21 / 4 / 0
Регистрация: 03.01.2017
Сообщений: 127
29.10.2017, 12:45  [ТС] 3
mobile, спасибо огромное, не подумал, что надо вынести как переменную.
Остальные косячки - результат приведения реального запроса к схематичному виду для отображения здесь.

Спасибо!
0
29.10.2017, 12:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2017, 12:45
Помогаю со студенческими работами здесь

Выборка из БД и вставка данных в <select></select>
Есть 4 таблицы в БД, откуда берется инфа, потом по средствам форм, если быть точнее селекта, хочу...

Выборка по select
Здравствуйте. Помогите сделать выборку по нажатию по select. По нажатию по Merkyri идет выборка...

Выборка select
Всем привет!! тема скорей для джава скрипта ближе но и сюда будет норм так как речь о селекторе)....

Выборка SELECT
Всех приветствую. Есть примерная таблица src|dcontext 89141666889|ivr-4 89141666889|001...

Выборка из БД по значению SELECT
Имеется html форма которая заполняет список(SELECT) с помощью php .. &lt;form method=&quot;post&quot;&gt;...

Выборка из двух <select>
День добрый, есть 2 &lt;select&gt;. Нужно при выборе к примеру пункта 2 из 1 &lt;select&gt;, и пункта 3 из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru