Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL запросы / 7 сообщений из 7, страница 1 из 1
14.05.2014, 15:11
    #38641120
Gostb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запросы
Помогите сделать запрос с помощью select.
Есть таблица table1. В ней поля Art,data,prim.
Нужно сделать запрос, чтобы переместить все данные в новую таблицу table2. Но если встречаются одинаковые артикулы Art, надо взять только запись с последней датой.(Прошлые даты не брать).
Т.е. table1
Артикул1 2013 АА
Артикул2 2013 ББ
Артикул2 2011 АБА
Артикул3 2014 ААБ
Артикул3 2013 ААБ

Должно получиться table2:
Артикул1 2013 АА
Артикул2 2013 ББ
Артикул3 2014 ААБ

Спасибо!
...
Рейтинг: 0 / 0
14.05.2014, 16:38
    #38641271
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запросы
Gostb,

я удалил ваш топик в подфоруме по MySQL.
...
Рейтинг: 0 / 0
15.05.2014, 06:31
    #38641692
SoftwareBoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запросы
Код: sql
1.
2.
SELECT art, MAX(data) AS max_data FROM table1 INTO CURSOR _table1 GROUP BY 1
SELECT DISTINCT table1.art, table1.data, table1.prim FROM table1, _table1 INTO TABLE table2 WHERE table1.art==_table1.art AND table1.data=_table1.max_data
...
Рейтинг: 0 / 0
15.05.2014, 08:57
    #38641747
pipos522
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запросы
sele SoftwareBoy в формочку поместил
( сам вчера пробовал такой запрос сделать, часик попыжился и плюнул )
...
Рейтинг: 0 / 0
15.05.2014, 10:17
    #38641833
Gostb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запросы
SoftwareBoy
Код: sql
1.
2.
SELECT art, MAX(data) AS max_data FROM table1 INTO CURSOR _table1 GROUP BY 1
SELECT DISTINCT table1.art, table1.data, table1.prim FROM table1, _table1 INTO TABLE table2 WHERE table1.art==_table1.art AND table1.data=_table1.max_data



Да так получилось, спасибо.
...
Рейтинг: 0 / 0
15.05.2014, 10:45
    #38641887
SoftwareBoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запросы
pipos522, а зачем вставлять по одной записи? Вместо
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT DISTINCT table1.art, table1.data_, table1.prim_ ;
  FROM table1, _table1 ;
  INTO TABLE table3 ;
  WHERE table1.art==_table1.art AND table1.data_=_table1.max_data

SCAN
 INSERT INTO table2 (art, data_, prim_) VALUES ( table3.art, table3.data_, table3.prim_ )
ENDSCAN


можно всё одной командой сделать:
Код: sql
1.
2.
3.
4.
INSERT INTO table2 (art, data_, prim_) ;
  SELECT DISTINCT table1.art, table1.data_, table1.prim_ ;
  FROM table1, _table1 ;
  WHERE table1.art==_table1.art AND table1.data_=_table1.max_data



И открой для себя опцию IN в GO и многих других командах :)
...
Рейтинг: 0 / 0
15.05.2014, 11:19
    #38641948
pipos522
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запросы
И открой для себя опцию IN в GO - go top in table это я знаю но привык уже отдельно делать)

и многих других командах :) - Подскажите на какие в 1ю очередь обратить внимание?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL запросы / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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