Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2023, 15:56   #11
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 484
По умолчанию

Цитата:
Сообщение от KBO Посмотреть сообщение
У меня всегда был один запрос
Цитата:
Сообщение от KBO Посмотреть сообщение
но тогда мне придется делать 300 циклов в DataSet2
в текущем запросе я вижу выборку из одной таблицы CERTIFICATE это какая таблица? DataSet1 или DataSet2?
Valick вне форума Ответить с цитированием
Старый 08.01.2023, 16:40   #12
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Valick Посмотреть сообщение
Вы эту последовательность передаёте в запрос, значит она уже у вас есть, я так полагаю она у вас хранится в массиве.
ну не в массиве, а строковой переменной, которую я формирую в цикле (пройдя по IBDataSet1), а потом кидаю в запрос, параллельно с ней, я вставляю в этот же запрос и сформированный в цикле "case ..."
KBO вне форума Ответить с цитированием
Старый 08.01.2023, 16:42   #13
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Valick Посмотреть сообщение
в текущем запросе я вижу выборку из одной таблицы CERTIFICATE это какая таблица? DataSet1 или DataSet2?
DataSet2.


DataSet1 привязана к другой таблице (EQUIPMENT) - которую я не хочу дергать (она уже сформирована и готова к выводу в MSWord)

Потом я DataSet2 "присоединяю" (образно говоря к DataSet1.) и в одном цикле (т.к. во обоих DataSet ID в одинаковом порядке) вывожу инфо в MSWord (оборудование + к нему сертификаты)

Последний раз редактировалось KBO; 08.01.2023 в 16:58.
KBO вне форума Ответить с цитированием
Старый 08.01.2023, 17:50   #14
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 484
По умолчанию

Цитата:
Сообщение от KBO Посмотреть сообщение
ну не в массиве, а строковой переменной, которую я формирую в цикле (пройдя по IBDataSet1), а потом кидаю в запрос
ёк-макарёк(((
не занимайтесь ерундой, просто один единственный join даст вам нужный результат без необходимости формировать промежуточный результат в виде строки.
Покажите запрос которым вы достаёте эту строчку?

Последний раз редактировалось Valick; 08.01.2023 в 17:53.
Valick вне форума Ответить с цитированием
Старый 08.01.2023, 19:15   #15
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Valick Посмотреть сообщение
не занимайтесь ерундой, просто один единственный join даст вам нужный результат без необходимости формировать промежуточный результат в виде строки.
Покажите запрос которым вы достаёте эту строчку?
Да, я думал про "join", и это был бы самый лучший вариант.

Это не запрос, я формирую запрос в Delphi, на основании ID с DataSet1

Но в большинстве случаев пользователю нужно видеть только данные из одной таблицы DataSet1. Т.е. только оборудование.
Иногда нужно вывести отчет, оборудование + сертификатыDataSet2. (оборудование перед этим, может сортироваться локально пользователем), так что просто при этом нужно выбрать сертификаты в заданном порядке

Последний раз редактировалось KBO; 08.01.2023 в 19:18.
KBO вне форума Ответить с цитированием
Старый 08.01.2023, 19:39   #16
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 484
По умолчанию

Цитата:
Сообщение от KBO Посмотреть сообщение
так что просто при этом нужно выбрать сертификаты в заданном порядке
Да заданный порядок у вас уже есть в строке полученной от эльфийской магии из Delphi.
Из таблицы сертификатов вы достаёте строки в которых присутвуют те же идентификаторы и не важно в каком они порядке, главное каждому идентификатору соответвует свой сертификат. Имея на руках исходный порядок не составит труда написать заклинание код который обработает выборку из БД.
Но повторюсь странные вещи вы творите. Не иначе как очередная "проблема молотка".
Valick вне форума Ответить с цитированием
Старый 08.01.2023, 20:35   #17
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Valick Посмотреть сообщение
и не важно в каком они порядке, главное каждому идентификатору соответвует свой сертификат. .
Не сертефикат, а сертификатЫ,
как раз порядок важен, т.к. у меня раздельные данные DataSet1 и DataSet2. И если не будет порядка, то мне придется для каждого оборудования, проходить полный цикл по DataSet2 (сертификаты), чтоб выловить все сертификакты.

Еще раз спасибо за ответы!!!
KBO вне форума Ответить с цитированием
Старый 09.01.2023, 09:55   #18
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
проходить полный цикл по DataSet2 (сертификаты), чтоб выловить все сертификакты.
если они изначально отсортированы по ID оборудования, то нет.
Locate на нужный ID
цикл пока нужный ID (или НЕ EOF)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция ЕСЛИ подходит только для 1 условия, а если условий больше? Slavatron1984 Microsoft Office Excel 2 08.01.2012 22:07
сортировка в запросе west23 Microsoft Office Access 1 19.05.2010 00:32
Как задать в формулу больше чем 7 условий IF??? xXx666 Microsoft Office Excel 2 29.10.2009 22:55
Как быть если условий больше 7? 911old Microsoft Office Excel 1 20.08.2009 16:08