powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не могу составить Select
17 сообщений из 17, страница 1 из 1
Не могу составить Select
    #32531524
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просидел час, не смог составить запрос, который выбирает все позиции товара из накладной с максимальной датой.

Cert
CertID, rec_created

Cert_Item
Cert_ItemID, CertID, ProductID

Понимаю, что всё должно быть просто, о сделать не могу.
Помогите пожалуйста.
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531526
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
select Cert_Item.* from Cert_Item inner join Cert on Cert_Item.CertID=Cert.CertID
where Cert.rec_created in (
select max(rec_created) from Cert
)
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531530
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч
А без вложеных запросов никак нельзя?
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531532
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тогда так:

select Cert_Item.* from Cert_Item inner join Cert on Cert_Item.CertID=Cert.CertID
where Cert.rec_created = dmax("rec_created", "Cert")
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531533
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дело в том, что это надо сделать приминительно к MySQL, а там не поддерживаются вложеные запросы, впрочем как и функции типа Dmax.

"Чистый" Select как я понимаю не получится сделать верно?
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531536
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
То есть это вопрос не по Аксессу? Тут Аксесс хоть каким-то боком участвует? Если нет, то я могу перенести этот топик в форум по MySQL:

http://sql.ru/forum/actualtopics.aspx?bid=6

В MySQL могут существовать какие-то другие средства, о которых мы в форуме по Аксессу не знаем.

Надо перенести?
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531545
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь оживлнённее. Там тишина, да и люди здесь добрые, отзывчивые. :)

Переносить не надо, может завтра кто подскажет.

Задал сюда, потому что работаю в связке Access+MySQL через ODBC.
Сейчас перестраиваю некоторые запросы, перехожу где возможно на запросы к серверу, в связи с чем и появился вопрос.

Не теряю надежду на ответы :)
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531550
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Люди-то здесь добрые, только ответа могут не знать... Ну да ладно. Автору виднее. :^)
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531584
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В акцессе 2002 с включенной галкой совместимости с ansi-92 работает

Код: plaintext
1.
2.
SELECT c
FROM ttt INNER JOIN (select b, max(a) as aa from ttt group by b) AS tt 
  ON (ttt.b=tt.b and a=aa)

Зы. А "чистым" запросом может получиться, если есть уверенность, что записи вводяться строго по времени, и last работет сообразно названию, а не устройству файлов бд.
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531606
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C SELECT-ом в один запрос - никак, похоже...
Зато есть вариант для тебя - если это надо в связке MySQL + Access, то можешь вывести все записи в том виде как они тебе нужны - а потом применить фильтр в форме.
Фильтр-то Client-side, поэтому там можно уже будет написать нужное тебе условие.
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531628
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ акцессе 2002 с включенной галкой совместимости с ansi-92 работает
2 Geo
честно, не понял - что без "галки" этот запрос не работает?
как-то даже обескураживает про галку...
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531804
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот тебе без in, но на inner join

SELECT Траты.[Код Клиента], Траты.Дата
FROM (SELECT Траты.[Код Клиента], Max(Траты.Дата) AS [Max-Дата]
FROM Траты
GROUP BY Траты.[Код Клиента]
) AS T INNER JOIN Траты ON (T.[Код Клиента] = Траты.[Код Клиента]) AND (T.[Max-Дата] = Траты.Дата);
...
Рейтинг: 0 / 0
Не могу составить Select
    #32531806
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я подумал, что м.б. MySQL совместим с ansi, и запрос все-таки отработается в нем?..
...
Рейтинг: 0 / 0
Не могу составить Select
    #32532266
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ООО!!! MySQL начал поддерживать SUBQUERY!!!!
по крайней мере с версии 4.1

http://dev.mysql.com/doc/mysql/en/ANSI_diff_Subqueries.html

Всем апгрэйдиться (2 раза!)
...
Рейтинг: 0 / 0
Не могу составить Select
    #32532368
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если это не запрос к земному шару, а к подключенной таблице с mysql, то должно сработать в диалекте Access

а к земному шару, то бишь к серверу, запрос должен быть типа таково

/topic/45863&hl=having#313929
...
Рейтинг: 0 / 0
Не могу составить Select
    #32532841
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рисуем похожий запрос - результат ожидаемый, т.е. не тот который нужен.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
mysql> select s1.created, max(s2.created)  max_cr from  swo s1, swo s2 where s1.id = s2.id group by s1.id;
+ ---------------------+---------------------+
 
| created             | max_cr              |
+ ---------------------+---------------------+
 
|  2004 - 05 - 25   01 : 23 : 01  |  2004 - 05 - 25   01 : 23 : 01  |
|  2004 - 05 - 25   01 : 23 : 05  |  2004 - 05 - 25   01 : 23 : 05  |
|  2004 - 05 - 25   01 : 22 : 58  |  2004 - 05 - 25   01 : 22 : 58  |
+ ---------------------+---------------------+
 

или я неправильно тебя понял?
...
Рейтинг: 0 / 0
Не могу составить Select
    #32532857
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумал и малость переделал. Вот работающий результат.
Поставил вместо ID=ID условие 1=1
Только на больших таблицах будет долго работать... но такова судьба.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
mysql> select s1.created, max(s2.created)  max_cr from  swo s1, swo s2 where  1 = 1  group by s1.id;
+ ---------------------+---------------------+
 
| created             | max_cr              |
+ ---------------------+---------------------+
 
|  2004 - 05 - 25   01 : 23 : 01  |  2004 - 05 - 25   01 : 23 : 05  |
|  2004 - 05 - 25   01 : 23 : 05  |  2004 - 05 - 25   01 : 23 : 05  |
|  2004 - 05 - 25   01 : 22 : 58  |  2004 - 05 - 25   01 : 23 : 05  |
+ ---------------------+---------------------+
 
 3  rows in set ( 0 . 01  sec)

mysql> select s1.created s1_cr, max(s2.created)  max_cr from  swo s1, swo s2 where  1 = 1  group by s1.id having s1_cr = max_cr;
+ ---------------------+---------------------+
 
| s1_cr               | max_cr              |
+ ---------------------+---------------------+
 
|  2004 - 05 - 25   01 : 23 : 05  |  2004 - 05 - 25   01 : 23 : 05  |
+ ---------------------+---------------------+
 
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не могу составить Select
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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