|
MySQL.RU - Webboard
Вернуться
Сложное объединение таблиц (Михаил) 17/10/2016 - 11:07:54
Re: Сложное объединение таблиц (Михаил) 17/10/2016 - 11:38:20
Re: Сложное объединение таблиц (Михаил) 17/10/2016 - 12:04:16
Re: Сложное объединение таблиц (Михаил) 17/10/2016 - 12:36:54
Re: Решено (Михаил) 17/10/2016 - 23:16:07
From: Михаил - 17/10/2016 - 11:07:54
Subject:Сложное объединение таблиц
-----------------
Натолкните на мысль пожалуйста.
Опять столкнулся с проблемой выборки из таблиц.
Причина в том, что изначально не были предусмотрены некоторые требования, которые требуется выполнить сейчас.
Исходные условия:
Существуют две таблицы.
client (id, user_id, modified, ...) - (modified = timestamp)
client_log (id,client_id,user_id, created, ...) - (created = timestamp)
Когда заводится новый клиент он заносится только в таблицу client, фиксируется менеджер его занёсший (user_id) и дата создания записи.
В дальнейшем при внесении правки в данные клиента предыдущая запись копируется из client в client_log то есть:
id -> client_id
user_id -> user_id
... -> ...
а в client заносится user_id того, кто вносил правку и другие данные.
НО! modified НЕ МЕНЯЕТСЯ!!!
А в client_log создаётся created (timestamp) - время внесения изменений.
Сейчас стоит задача определить сколько и каких новых клиентов кто из менеджеров заносил в базу в определённый период.
Те клиенты, в которых не вносились изменения определяются легко:
SELECT SQL_CALC_FOUND_ROWS `id`, `user_id`, `modified`, ...
FROM client
WHERE `modified` >='2014-01-01 00:00:00' AND `modified` <='2014-10-31 23:59:59' AND `user_id` = '12' ORDER BY `user_id`
А вот как определить кто и когда создал клиента, в которого вносилась правка не могу придумать.
Правка могла вноситься не один раз, в том числе автоматически. В этом случае user_id = 0
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
43655
|
|