Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / про выборку... / 23 сообщений из 23, страница 1 из 1
16.01.2003, 16:14
    #32091955
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
мне надо чтобы из одной таблицы выбирались данные дата внесения которых находится между (или равна) датам из другой таблицы... - это сделано...

но надо чтобы данные из выборки сортировались еще раз при этом результат добавлялся в др таблу ...

для этого использую:
ret = "INSERT INTO STAT_VED ( GNOMER, DATES, GAZOLINE, COL_OF_GAZOLINE, CENA) SELECT GNOMER, DATES, GAZOLINE, COL_OF_GAZOLINE, PRICE FROM AVTO_ZAPR_VED, price_gaz;"
CurrentDb.Execute ret

ret = "DELETE * FROM STAT_VED where col_of_GAZOLINE IS NULL and cena = 0;
CurrentDb.Execute ret

ret = "UPDATE STAT_VED SET ZATR = COL_OF_GAZOLINE * cena WHERE ZATR is null;"
CurrentDb.Execute ret
DoCmd.Beep
ret = "DELETE * FROM STAT_VED where ZATR ='0';"
CurrentDb.Execute ret

но в таблицу сваливаются данные без разбора:
GNOMER DATES GAZOLINE COL_OF_GAZOLINE cena zatr
11 14.01.2003 Аи80 7 2,00р. 14
11 14.01.2003 Аи80 7 10,00р. 70
11 14.01.2003 Аи80 7 12,00р. 84
11 14.01.2003 Аи80 7 20,00р. 140
11 14.01.2003 Аи80 7 3,00р. 21
12 10.01.2003 Аи92 10 5,00р. 50
12 10.01.2003 Аи92 10 6,00р. 60
12 10.01.2003 Аи92 10 4,00р. 40
12 10.01.2003 Аи92 10 2,00р. 20
12 10.01.2003 Аи92 10 10,00р. 100

а надо:
GNOMER DATES GAZOLINE COL_OF_GAZOLINE cena zatr
11 14.01.2003 Аи80 7 2,00р. 14
12 10.01.2003 Аи92 10 5,00р. 50
что делать?...

заранее благодарна...
...
Рейтинг: 0 / 0
16.01.2003, 16:30
    #32091970
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
надо чтобы было типа как в 1С
допустим цена одна с01,01,03 оп 10,01,03 и другая с 11,01,03 по 31,01,03 так надо чтобы товары с 01,01 по 10,01 были по одной цене а с 11,01 по 31,01 по другой... может кто нить сталкивался с этим и подскажет... буду признательна...
...
Рейтинг: 0 / 0
16.01.2003, 16:35
    #32091978
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
помогите... пожалуйста... сама придумать ничего не могу..((
...
Рейтинг: 0 / 0
16.01.2003, 18:05
    #32092046
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
...((( неужели никто не поможет?
...
Рейтинг: 0 / 0
16.01.2003, 18:15
    #32092050
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
Невовремя ты...
Лично я уже отчаливаю...
...
Рейтинг: 0 / 0
16.01.2003, 18:35
    #32092067
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
хелп... хелп...(((
...
Рейтинг: 0 / 0
16.01.2003, 18:58
    #32092092
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
не совсем понял в чём трабла. (тупой вот я такой)

я так понял что надо UPDATE подредактировать?
...
Рейтинг: 0 / 0
16.01.2003, 19:08
    #32092107
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
есть: форма в которой отображается результат запроса:
SELECT PRICE.BREND, PRICE.PRICE_DATE, PRICE.PRICE
FROM PRICE
WHERE PRICE_DATE Between (now()) And (now()-30) AND PRICE.BREND=Forms!reestr!BREND;


надо: из выбранных значений получить цену дата которой удовлетворяет этим параметрам... и присвоить ее туда, где указывается эта дата... короче геморой... типа как в 1С... как сделать не знаю...
...
Рейтинг: 0 / 0
16.01.2003, 19:29
    #32092129
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
Так соберись и не кидайся мышкой:))

Теперь то что я понял...
1. Взять цену - она на экране в форме (одна - несколько?)
2. >>и присвоить ее туда, где указывается эта дата...
- дата та же или другая???

поправь/проясни где я не понял
И если не трудно покажи на примере
1. результат этого запроса
2. какую цену выбрали
3. к какому периоду её надо применить
4. желательный результат
...
Рейтинг: 0 / 0
16.01.2003, 19:35
    #32092133
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
форма где цены - подчиненная получается по запросу: SELECT PRICE.BREND, PRICE.PRICE_DATE, PRICE.PRICE FROM PRICE WHERE PRICE_DATE Between (now()) And (now()-30) AND PRICE.BREND=Forms!reestr!BREND;
где Forms!reestr!BREND - из предыдущей формы..., дата вводится в активной, цену надо сунуть туда-же, проблема в том что цен может быть несколько...
BREND PRICE_DATE PRICE
80 12.12.2002 0,00р.
Аи92 12.12.2002 0,00р.
Аи95 12.12.2002 0,00р.
DT 12.12.2002 0,00р.
Аи80 10.01.2003 5,00р.
Аи92 10.01.2003 6,00р.
95 12.01.2003 4,00р.
DT 12.01.2003 2,00р.
Аи80 12.01.2003 10,00р.
92 12.01.2003 12,00р.
95 12.01.2003 20,00р.
DT 12.01.2003 3,00р.
допустим дата, которую ввели - 11,01,2003, цена должна быть из промежутка : с 10 по 12,01,2003, по соответствующей марке бензина...
...
Рейтинг: 0 / 0
16.01.2003, 19:49
    #32092142
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
ХЕЛП...
...
Рейтинг: 0 / 0
16.01.2003, 20:18
    #32092157
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
И ТИШИНА...
...
Рейтинг: 0 / 0
16.01.2003, 22:57
    #32092192
IgorM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
Вопросы надо формулировать "тщательнее"... :)
Если я правильно понял, то нужно найти стоимость топлива на дату по прайс-листу? Попробуй так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
INSERT INTO STAT_VED 
 (GNOMER, DATES, GAZOLINE, COL_OF_GAZOLINE, CENA, ZATR) 
SELECT GNOMER, DATES, GAZOLINE, COL_OF_GAZOLINE, 
       PRICE, PRICE * COL_OF_GAZOLINE 
FROM AVTO_ZAPR_VED AS AZV 
 INNER JOIN PRICE_GAZ AS PG 
 ON AZV.GAZOLINE = PG.BREND 
WHERE PRICE_DATE = (SELECT MAX(PRICE_DATE) FROM PRICE_GAZ 
                    WHERE PRICE_GAZ.PRICE_DATE <= AZV.DATES AND
                          PRICE_GAZ.BREND = AZV.GAZOLINE)


Учитывая, что в PRICE_GAZ -> топливо - BREND, дата - PRICE_DATE и цена - PRICE
...
Рейтинг: 0 / 0
16.01.2003, 22:59
    #32092196
AndreyKa_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
10-го -10р, 12-го - 12р ввели 11-ое, что ты хочешь получить? 10р.?
Если можно опиши задачу, что ты делаешь, для чего это всё. Чем подробнее опишешь, тем быстрее тебе помогут. Пока туман...
...
Рейтинг: 0 / 0
17.01.2003, 08:56
    #32092263
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
2 АНДРЕЙ ...описывать уже не нужно ты сам сформулировал...:
"10-го -10р, 12-го - 12р ввели 11-ое, что ты хочешь получить? 10р.? ".. вся суть в этом... как этого добиться... вот в чем вопрос...
...
Рейтинг: 0 / 0
17.01.2003, 09:23
    #32092271
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
Извени, но вчерась убежать надо было.
Ещё уточняющий вопрос.
Вот определились
> "10-го -10р, 12-го - 12р ввели 11-ое, что ты хочешь получить? 10р.? "
>.. вся суть в этом... как этого добиться... вот в чем вопрос...
Для одиначатого выбираем дату по чисялам или по цене, т.е.
"хочу шоб 11го была цена как 12го" или "хочу шоб 11го была цена 10р"?
что из этого верно?
...
Рейтинг: 0 / 0
17.01.2003, 09:26
    #32092273
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
чтоб как 10 цена була... но як?
GNOMER.Value = Forms!REESTR!GNOMER
ret = "INSERT INTO AVTO_ZAPR_VED"
ret = ret & "(GNOMER, DATES, GAZOLINE, COL_OF_GAZOLINE, CENA)"
ret = ret & "SELECT GNOMER, DATES, GAZOLINE, COL_OF_GAZOLINE, "
ret = ret & "PRICE "
ret = ret & " FROM AVTO_ZAPR_VED "
ret = ret & " INNER JOIN PRICE_GAZ "
ret = ret & "ON AVTO_ZAPR_VED.GAZOLINE = PRICE_GAZ.BREND "
ret = ret & "WHERE PRICE_DATE = (SELECT MAX(PRICE_DATE) FROM PRICE_GAZ "
ret = ret & "WHERE PRICE_GAZ.PRICE_DATE <= AVTO_ZAPR_VED.DATES AND "
ret = ret & "PRICE_GAZ.BREND = AVTO_ZAPR_VED.GAZOLINE);"

работает но косо...
...
Рейтинг: 0 / 0
17.01.2003, 09:34
    #32092283
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
т.е. как в предыдущий либо текущий(если были записи)
в чём это заклю чаеться - тормозит?
...
Рейтинг: 0 / 0
17.01.2003, 09:37
    #32092287
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
номер не прописывает и не все значения пишет...
...
Рейтинг: 0 / 0
17.01.2003, 09:45
    #32092291
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
уже перестал... глючить ... однако...
...
Рейтинг: 0 / 0
17.01.2003, 09:54
    #32092293
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
:))
...
Рейтинг: 0 / 0
17.01.2003, 10:28
    #32092319
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
ПОЧЕМУ НЕ РАБОТАЕТ... - НИЧЕГО НЕ ПИШЕТ ТАБЛИЧКИ..(((

ret = "INSERT INTO STAT (GNOMER, BREND, ITOG_COL_GAZ, PAYER, "
ret = ret & "ITOG_DATE, ZATR, ACCOUNT ) SELECT STAT_VED.GNOMER, GAZOLINE,"
ret = ret & "sum(COL_OF_GAZOLINE), PAYER, NOW(), sum(ZATR),"
ret = ret & "last(ACCOUNT) FROM STAT_VED INNER JOIN AVTO_OPLATA ON "
ret = ret & "STAT_VED.GNOMER=AVTO_OPLATA.GNOMER "
ret = ret & "group by STAT_VED.GNOMER, GAZOLINE, PAYER;"
CurrentDb.Execute ret


ret = "INSERT INTO TEMP ( GNOMER, MARKA, BREND, HOZ, DRIVER, PAYER, ITOG_COL_GAZ, ITOG_DATE, "
ret = ret & "ZATR, ACCOUNT, AVANS ) SELECT "
ret = ret & "STAT.GNOMER, MARKA, STAT.BREND, HOZ, DRIVER, STAT.PAYER, ITOG_COL_GAZ, ITOG_DATE,ZATR, ACCOUNT, AVANS "
ret = ret & "FROM STAT INNER JOIN AVTO ON STAT.GNOMER=AVTO.GNOMER;"
CurrentDb.Execute ret
...
Рейтинг: 0 / 0
17.01.2003, 10:31
    #32092322
яяя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
про выборку...
опять прошло...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / про выборку... / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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