powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возможно ли передать в SQL-выборку в функцию IN() результат локальной выборки
3 сообщений из 3, страница 1 из 1
Возможно ли передать в SQL-выборку в функцию IN() результат локальной выборки
    #34895983
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
Ситуация следующая - к примеру, есть таблица видов документов DocTypes с полями:
идентификатор вида DocTypeID (INTEGER)
наименование вида DocTypeName (CHAR)
Делаю для юзера выборку видов документов в курсор:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
gsSQLCommand=;
"SELECT "+;
  " DocTypeID ,"+;
  " DocTypeName,"+;
  " ?VAL('') As Marked "+;
  " FROM DocTypes "+;
  " WHERE NOT Archived"
=MyExecSQL("curDocTypes")
Далее выкладываю сей курсор на форму в грид, где юзер отмечает чекбоксом Marked по каким именно видам документов необходим отчет (выборка)
Далее, локально на фоксе я делал выборку типа
Код: plaintext
1.
2.
3.
SELECT
...
FROM xxx
WHERE DocTypeID IN(SELECT DocTypeID FROM curDocTypes WHERE Marked= 1 )

Но как же теперь на SQL-сервер передать в IN() локальную выборку SELECT DocTypeID FROM curDocTypes WHERE Marked=1 ?
Возможно ли такое вообще?

спасибо.
...
Рейтинг: 0 / 0
Возможно ли передать в SQL-выборку в функцию IN() результат локальной выборки
    #34896267
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KOНо как же теперь на SQL-сервер передать в IN() локальную выборку SELECT DocTypeID FROM curDocTypes WHERE Marked=1 ?
Возможно ли такое вообще?


Для конкретной реализации каждого сервера есть свой метод, например принципы описаны здесь
Передача табличных данных в хранимую процедуру
...
Рейтинг: 0 / 0
Возможно ли передать в SQL-выборку в функцию IN() результат локальной выборки
    #34898903
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обошелся мелким испугом :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT curDocTypes
lsMarkedDocTypeID  = ''
SCAN FOR Marked= 1 
   IF EMPTY(m.lsMarkedDocTypeID)
      lsMarkedCCDocID = LTRIM(STR(DocTypeID))
   ELSE
      lsMarkedCCDocID = m.lsMarkedDocTypeID + ',' + LTRIM(STR(DocTypeID))
   ENDIF
ENDSCAN
gsSQLCommand=;
   " SELECT"+;
    ...
    " FROM ххх"+;
    " WHERE DocTypeID IN(?&lsMarkedDocTypeID)"
=MyExecSQL("curDocTypes")
поскольку в mySQL в функцию IN может быть включена как группа значений так и SELECT

А Климов - серъезный дядька, мне до него как до пекину раком. я с трудом понимаю 10-20% в предлагаемых на его сайте исходниках, а остальное и вовсе не понимаю. К примеру его класс SmartGrid мне запустить даже не удалось на форме... короче расти еще и расти мне.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возможно ли передать в SQL-выборку в функцию IN() результат локальной выборки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]