Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43655



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |