Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте!
Помогите организовать подсчёт данных из таблицы! Пожалуйста!
Есть таблица в которой хранятся данные по id чека. У одного id может быть несколько статусов "Новый", "В работе", "Закрыт"... Вот и нужно в итоговом запросе видеть в каком статусе в данный момент находятся id.
id status
4380872 Новый
4380872 Закрыто
4380873 Новый
4380873 В работе
4380874 Новый
4380875 Новый
4380876 Новый
4380877 Новый
4380877 В работе
4380878 Новый
4380878 Закрыто
Т.е. в итоге получить, что 4380874, 4380875 - только новые и их 2 шт., 4380872, 4380878 - эти закрыты и их 2 шт., 4380873, 4380877 - эти пока в работе и их 2 шт.
Пытался делать запрос JOIN-ами, но получается жуткий монстр, да ещё и еле-еле работает...
Заранее огромная благодарность откликнувшимся!
Неактивен
А в таблице разве только два поля? Нет поля времени, когда статус был присвоен?
Приведите пример итоговой выборки, которая нужна.
Неактивен
Понимаете, есть там такое поле timestamp, но как оно заполняется - одному Б-гу известно... Порой странные цифры случаются и поэтому я старался к этому полю не цепляться... А всё-же, если я договорюсь с админами о корректном заполнении этого поля, то как быть в этом случае, если оно будет корректным? Я не привязывался к этому полю по той причине, что кассир может быть другим... Скажем - чек в конце раб. дня передаётся другому исполнителю, т.к. первый уже собирается сдавать смену и вновь у него будет статус НОВЫЙ, но уже с другим пользователем, а id остаётся прежним, с чего и началось всё...
Я не слишком путано? У меня голова уже трескается
Неактивен
Вы считаете актуальной запись добавленную позднее, но с точки зрения сервера представленные две записи равноправны - он не знает какая добавлена позднее.
id status
4380872 Новый
4380872 Закрыто
Должно быть поле, которое позволит определить какая из двух представленных записей актуальна.
Например, это может быть поле, в котором указано время присвоения статуса, тогда актуальная запись это запись с большим временем. Или есть поле с атрибутом auto_increment, тогда актуальная запись с большим значением.
Если такое поле есть, то тут указано несколько способов.
Неактивен
l_2001 написал:
Понимаете, есть там такое поле timestamp, но как оно заполняется - одному Б-гу известно...
Посмотрите
Неактивен
Посмотрите
show create table `имя таблицы`;
Здравствуйте!
Я почитаю ссылку, которую Вы дали выше... А в отношении самой таблицы, я прикрепил файлик, в котором видна основная часть... Да, изменению статуса чека соответствует и изменение времени в поле timestampAdd...
Сегодня попробую разобраться с группировкой...
Ещё раз - спасибо!
Неактивен