|
MySQL.RU - Webboard
Вернуться
Выбор id одной таблицы по трем полям другой (Vasily) 22/07/2013 - 16:26:54
Re: Выбор id одной таблицы по трем полям другой (Akina) 23/07/2013 - 23:48:16
Re: Выбор id одной таблицы по трем полям другой (Vasily) 24/07/2013 - 11:38:20
Re: Выбор id одной таблицы по трем полям другой (Akina) 26/07/2013 - 22:05:22
Re: Выбор id одной таблицы по трем полям другой (Vasily) 01/08/2013 - 11:55:46
Re: Выбор id одной таблицы по трем полям другой (Akina) 05/08/2013 - 14:13:41
Re: PS. (Akina) 05/08/2013 - 14:17:18
Re: Выбор id одной таблицы по трем полям другой (Vasily) 07/08/2013 - 12:08:35
Re: Выбор id одной таблицы по трем полям другой (Akina) 07/08/2013 - 13:45:24
Re: Выбор id одной таблицы по трем полям другой (Vasily) 07/08/2013 - 15:35:22
Re: Выбор id одной таблицы по трем полям другой (Akina) 07/08/2013 - 21:31:47
Re: Выбор id одной таблицы по трем полям другой (Vasily) 08/08/2013 - 10:16:54
Re: Выбор id одной таблицы по трем полям другой (Akina) 08/08/2013 - 14:47:33
Re: Выбор id одной таблицы по трем полям другой (Vasily) 08/08/2013 - 18:09:32
Re: Выбор id одной таблицы по трем полям другой (Akina) 08/08/2013 - 18:32:08
Re: Выбор id одной таблицы по трем полям другой (Vasily) 08/08/2013 - 18:47:01
> Original message text:
> From: Vasily - 22/07/2013 - 16:26:54
> Subject:Выбор id одной таблицы по трем полям другой
> -----------------
> Здравствуйте. Прошу помочь с решением задачи, т.к. тривиальные решения не дали нужного результата и фантазия закончилась.
>
> Есть две таблицы: card(id, client, type) и histor(value, type, srv, enterdate). Столбцы type у обоих таблиц совпадают.
>
> Требуется: вывести один id из таблицы card для client = X, тот из них, у type которого максимальное значение value в таблице histor, по условию, что srv в ней должно быть равно Y, а enterdate старшая, но не больше Z.
>
> Возможно ли решение такой задачи одним запросом, или требуется проверка по циклу из perl-скрипта?
>
From: Akina - 07/08/2013 - 21:31:47
Subject:Выбор id одной таблицы по трем полям другой
-----------------
Ооо... ну наконец стало ясно, что же требуется... это гораздо более сложный запрос.
SELECT subquery.id
FROM (
SELECT c.id, h.enterdate, h.value
FROM card AS c, histor AS h
WHERE c.type = h.crdtype
AND c.client = :CLIENT
AND h.srvtype = :SRVTYPE
AND h.enterdate <= :DATE
) subquery
GROUP BY subquery.id
ORDER BY SUBSTR(MAX(CONCAT(subquery.enterdate, subquery.value)), 11) DESC
LIMIT 1;
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
42789
|
|