Работа с запросом | |
---|---|
legion54 Автор Сообщений: 19 Дата регистрации: 06.10.2016 |
Добрый день. В фоксе не особо разбираюсь, отсюда и есть вопросы.
Делаю запрос
как мне сделать выборку из первого запроса? на шарпе вроде всё понятно, а тут не получается сделать |
Re: Работа с запросом | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Это что такое? CMD вроде как название полученного первым запросом курсора с данными. И адрес для обращение к данным курсора может состоять максимум их двух частей - имени курсора/таблицы и отделенного от него точкой имени поля. И откуда у поля вдруг взялось какое-то еще свойство value? Вы где нашли у полей таблиц свойства? Короче, строка должна выглядеть или так
------------------ Лень - это неосознанная мудрость. |
Re: Работа с запросом | |
---|---|
legion54 Автор Сообщений: 19 Дата регистрации: 06.10.2016 |
да это я затупил. Вопрос в другом, как перебрать каждую строку курсора cmd чтоб получить каждый cnd и подставить его во второй запрос
|
Re: Работа с запросом | |
---|---|
AndyNigmatec Сообщений: 1552 Откуда: Волгоград Дата регистрации: 28.06.2015 |
первое что приходит в голову - переписать все одним запросом
|
Re: Работа с запросом | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Для "перебора" записей есть цикл scan...endscan. Но, как уже было написано, лучше переписать запрос и сразу получать все данные, а не позаписно.
------------------ Лень - это неосознанная мудрость. Исправлено 1 раз(а). Последнее : ssa, 24.01.18 08:39 |
Re: Работа с запросом | |
---|---|
legion54 Автор Сообщений: 19 Дата регистрации: 06.10.2016 |
если перепишу запрос допустим так
Показатель | Обозначение | Тип ---------------------------------- 1 2 3 4 5 и т.д. а мне нужно сформировать excel в таком формате № | Показатель | Обозначение ---------------------------------------- Тип А 1 2 3 Тип Б 4 5 6 Тип С 7 8 Исправлено 1 раз(а). Последнее : legion54, 24.01.18 08:51 |
Re: Работа с запросом | |
---|---|
AndyNigmatec Сообщений: 1552 Откуда: Волгоград Дата регистрации: 28.06.2015 |
так ORDER BY pokazattype.ctitl ... и другие поля если нужно
еще ежели мне склероз не изменяет, конструкция
имеет ограничение на макс. возвращаемое кол-во записей в подзапросе в IN ... если там ожидается 100500 мульенов записей - то можно через exists(select ...) переписать Исправлено 1 раз(а). Последнее : AndyNigmatec, 24.01.18 08:57 |
Re: Работа с запросом | |
---|---|
legion54 Автор Сообщений: 19 Дата регистрации: 06.10.2016 |
количество записей 20 в подзапросе in и наврятли вырастет.
так а как мне засунуть наименование типа перед перечислением списка. вот так надо как на картинке |
Re: Работа с запросом | |
---|---|
AndyNigmatec Сообщений: 1552 Откуда: Волгоград Дата регистрации: 28.06.2015 |
вот вам одна из идей в виде тестового кода:
Исправлено 1 раз(а). Последнее : AndyNigmatec, 24.01.18 09:35 |
Re: Работа с запросом | |
---|---|
AndyNigmatec Сообщений: 1552 Откуда: Волгоград Дата регистрации: 28.06.2015 |
А вообще, для 20 циклов то вам и банальный SCAN ... ENDSCAN вполне подойдет, да и проще будет
|
Re: Работа с запросом | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
1) это очень плохо. 2) это "дословно" будет работать только для строковых типов, и только если в целевой СУБД (о чём автор темы как то не удосужился даже поведать нам) ограничителем символьных литералов является одинарная кавычка. Для других типов нужно правильно преобразовывать "значение" из cmd.cnd в литерал (строковое предсатвление) понимаемый целевой СУБД. на самом деле вот так:
------------------ WBR, Igor |
Re: Работа с запросом | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Это НЕ НАДО делать в самом запросе. Это следует сделать в коде выводящем результат этого запроса в эксель. В самом тупом случае - применить инструмент экселя "промежуточный итог" - он ещё и структуру создаст при помощи которой можно скрывать/показывать внутренности каждой группы. А так - если программно заполнять ячейки, то в соответствующем цикле по курсору с чистыми данными отслеживать изменение поля группы (поля Тип в данном случае), и если оно изменилось по отношению к предыдущему запомненному в переменной значению, то вывести "строку заголовка группы". Код тривиальный, и сакральных знаний по фоксу не требует.
------------------ WBR, Igor |
Re: Работа с запросом | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
[quote Igor Korolyov]
на самом деле вот так:
------------------ Лень - это неосознанная мудрость. |
© 2000-2024 Fox Club  |