powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите составить sql запрос для Foxpro 9
11 сообщений из 11, страница 1 из 1
Помогите составить sql запрос для Foxpro 9
    #34616740
djohnnyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне надо заменить столбец oborot(числа в нем) в каждой строке в таблице Shabexel. на Слобец oborot_db из таблицы Statitog в которой grup=stat and stat=punkt and grup=punkt (3 разных столбца).
Т.е. если эти 3 столбца имеют одинаковое значение , то значение четвертого столбца переходит в
Oborot из другой таблицы.

Срочно надо. Помогите пожалуйста!!! Только начал изучать foxpro а тут срочо сделать надо...
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34616762
kolobok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каким таким чудесным образом у тебя 2 из 3-х разных полей имеют одинаковые названия
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34616777
djohnnyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня 3 столбца : grup, stat , punkt.
и если на двух или 3 строках они одинаковые то эта строка (4-й столбец(значение)) должна переходить в другую таблицу(а именно в "oborot").
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34616796
djohnnyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот скрины таблиц:
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34616797
djohnnyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34616840
kolobok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. рассмотрев к примеру в Shabexel запись Stroka = 10: Grup = 'operdo', Stat = '1', Punkt = '1' мы чем ее должны заменить поле Oborot из Statitog 94.79 или 1930.00 (5-я сверху и 2-я снизу строки на приведенном рисунке соответственно при тех же значениях Grup = 'operdo', Stat = '1', Punkt = '1' )?
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34616845
kolobok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или спрошу проще, как связаны данные таблички, по каким полям?
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34616885
djohnnyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
например на фото shabexel он делает запрс
SCAN

SELECT statitog
m.summa=0
SUM statitog.oborot_db FOR grup=shabexel.grup and stat=shabexel.stat and punkt=shabexel.punkt TO m.summa
SELECT shabexel
REPLACE oborot WITH m.summa
ENDSCAN
но там роблема в том что если он нашел одинаковые то он их сумирует, а надо чтоб написал 1-е совпадение и оборот к нему. затем второе ..... как по списку(если 0 так ноль, если что есть то это значение)
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34617077
kolobok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А почему бы сначала не сгруппировать, а уж затем проапдейтить? Например, так

SELECT grup, stat, punkt, SUM(oborot_db) as oborot_db FROM statitog GROUP BY grup, stat, punkt INTO CURSOR tt
UPDATE s SET s.oborot = t.oborot_db from shabexel s inner join tt t ON (s.grup = t.grup) AND (s.stat = t.stat) AND (s.punkt = t.punkt)

Есить правда нюанс со значениями NULL - этих, по усмотрению, надо приводить к нужному виду, т.к. Shabexel.GRUP (=NULL)<>Statitog.Grup(=''), а они имеются в словии связи (см. условие после JOIN..ON..)
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34617166
djohnnyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо работает, а не знаешь как вставить результат из foxpro в готовый шаблон MS Excel(в новый лист Exel не пойдет) где уже все поля будут созданы до этого(много заполенных полей) и эти которые получились чтобы просто добавлялись?
...
Рейтинг: 0 / 0
Помогите составить sql запрос для Foxpro 9
    #34617329
kolobok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если лень с Office Automation разбираться самое простое (последняя строка)
CREATE CURSOR tt(aa i , bb c(5))
INSERT INTO tt(aa, bb) VALUES (1,'aa')
INSERT INTO tt(aa, bb) VALUES (2,'bb')
INSERT INTO tt(aa, bb) VALUES (3,'cc')
BROWSE LAST
COPY TO d:\tt.xls TYPE XL5


либо, если хочешь наворотов, юзай что-то типа этого
oXls = CREATEOBJECT('excel.application')
?type('oXls')
oxls.Workbooks.Add()
oxls.ActiveWorkbook.Sheets.Add()

где при создании объектов соответствующих коллекций можно задать файл шаблона.
в любом случае на данном форуме можно найти множество работоспособных примеров.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите составить sql запрос для Foxpro 9
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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