|   |   | 
| 
 | Как обработать такую таблицу ↓ (Rie 11.11.2013 10:27) | ☑ | ||
|---|---|---|---|---|
| 0
    
        ak799 11.11.13✎ 08:50 | 
        Есть:
 ВРАЧ | ПН | ВТ | СР | ЧТ | ПТ | СБ | ВС Терапевт | 10 | | 12 | | 10 | | Терапевт | 11 | | | | | | Терапевт | | 15 | | | | | Терапевт | | 18 | | | | | Хирург | | | | 12 | | 17 | Хирург | | 11 | | | | | Надо: ВРАЧ | ПН | ВТ | СР | ЧТ | ПТ | СБ | ВС Терапевт | 10 | 15 | 12 | | 10 | | Терапевт | 11 | 18 | | | 18 | | Хирург | | 11 | | 12 | | 17 | Как хитро свернуть запросом? СУММА() как понимаю не подходит. | |||
| 1
    
        ak799 11.11.13✎ 08:51 | 
        ВРАЧ     |  ПН | ВТ | СР | ЧТ | ПТ | СБ | ВС 
 Терапевт | 10 | | 12 | | 10 | | Терапевт | 11 | | | | | | Терапевт | | 15 | | | | | Терапевт | | 18 | | | | | Хирург | | | | 12 | | 17 | Хирург | | 11 | | | | | Надо: ВРАЧ | ПН | ВТ | СР | ЧТ | ПТ | СБ | ВС Терапевт | 10 | 15 | 12 | | 10 | | Терапевт | 11 | 18 | | | | | Хирург | | 11 | | 12 | | 17 | | |||
| 2
    
        kosts 11.11.13✎ 08:52 | 
        (0) Чем терапевт от терапевта отличается?     | |||
| 3
    
        Cube 11.11.13✎ 08:52 | 
        Почему два терапевта?     | |||
| 4
    
        ak799 11.11.13✎ 08:53 | 
        (2) ничем. Нужно Хитро свернуть строки. для 3 и 4 терапевта задвинуть строки по колонке ВТ вверх     | |||
| 5
    
        Rie 11.11.13✎ 08:53 | 
        (0) Я так понял, что нужна просто группировка по _всем_ полям. Дабы устранить дубли. Ну или ВЫБРАТЬ РАЗЛИЧНЫЕ.     | |||
| 6
    
        1dvd 11.11.13✎ 08:54 | 
        Только цыклом     | |||
| 7
    
        Rie 11.11.13✎ 08:54 | 
        (4) СОРТИРОВАТЬ с вычисляемым полем.     | |||
| 8
    
        ak799 11.11.13✎ 08:54 | 
        Коллеги суть не в том что два терапевта а в том как обработать. Можно ли запросом сдвинуть так как хочу?     | |||
| 9
    
        ak799 11.11.13✎ 08:55 | 
        (7) - Покажи!!!     | |||
| 10
    
        Cube 11.11.13✎ 08:55 | 
        (8) А почему так
 ВРАЧ | ПН | ВТ | СР | ЧТ | ПТ | СБ | ВС Терапевт | 10 | 15 | 12 | | 10 | | Терапевт | 11 | 18 | | | | | Хирург | | 11 | | 12 | | 17 | а не так ВРАЧ | ПН | ВТ | СР | ЧТ | ПТ | СБ | ВС Терапевт | 10 | 18 | 12 | | 10 | | Терапевт | 11 | 15 | | | | | Хирург | | 11 | | 12 | | 17 | ??? Платформа протелепатировать должна? | |||
| 11
    
        Rie 11.11.13✎ 08:55 | 
        (9) Сообщи, по какому критерию упорядочить - покажу.     | |||
| 12
    
        Rie 11.11.13✎ 08:59 | 
        +(11) Я так понял, что тут три задачи.
 1. "Убрать" пустые поля - но для этого надо знать, null там или пустая строка. Тут возникает первое вычисляемое поле. 2. СГРУППИРОВАТЬ по полю Врач и вычисляемым в пункте 1 полям. 3. УПОРЯДОЧИТЬ согласно выбранному критерию. | |||
| 13
    
        kosts 11.11.13✎ 09:01 | 
        (8) В принципе можно разработать небольшого монстра. Который свернет как хочется. Но что если вдруг два разных терапевта станут работать в один и тот же день по пол дня. Такой запрос уже ни за правильно не сработает...     | |||
| 14
    
        ak799 11.11.13✎ 09:01 | 
        (12) покажи запрос целиком!!!
 Есть таблица в запросе с таблицей "Врачи" например. Что дальше? Выбрать Врач, День ИЗ Врачи.. а дальше? | |||
| 15
    
        Cube 11.11.13✎ 09:02 | 
        (14) Это ты покажи запрос... Телепатов тут нет.     | |||
| 16
    
        Rie 11.11.13✎ 09:03 | 
        (14) Ты сначала таблицу покажи. А то хрен знает, какие там у тебя поля и чем они знамениты. А то писать запросы по неопознанным летающим таблицам - как-то оно не кошерно.     | |||
| 17
    
        kosts 11.11.13✎ 09:04 | 
        Идею такая. Заменить все часы единицей. Сгруппировать по всем полям. Потом сгруппированную таблицу использовать в соединении с первой для суммирования часов...     | |||
| 18
    
        Rie 11.11.13✎ 09:05 | 
        (17) Это, судя по некоторым признакам, расписание. Так что суммировать там нечего. Надо выяснять - есть ли часы приёмные или да ну его на фиг.     | |||
| 19
    
        kosts 11.11.13✎ 09:07 | 
        (17)(18) Но в принципе для реального решения постановка и данные не корректны... Частное решение такое.     | |||
| 20
    
        ak799 11.11.13✎ 09:08 | 
        (18) врачи - назвал условно. Есть такая таблица, нужно добавлять новые строки только если добавить в нужный день нельзя (часы уже есть), Если часы по дню пустые нужно объединять строки.     | |||
| 21
    
        ak799 11.11.13✎ 09:09 | 
        (19) - да решение частное, экзаменацтонное. Как свернуть запросом четыре строки по терапвету в две как я нарисовал?     | |||
| 22
    
        1dvd 11.11.13✎ 09:09 | 
        Имхается мне, что нужно отдельными запросами отбирать каждый день недели и расставлять Номера строк, потом всё соединить воедино     | |||
| 23
    
        ak799 11.11.13✎ 09:11 | 
        ну дайте кто нибудь запрос!     | |||
| 24
    
        kosts 11.11.13✎ 09:11 | 
        (21) У тебя таблица в каком виде дана, как в (0) ?     | |||
| 25
    
        Cube 11.11.13✎ 09:12 | 
        (21) Да это бред. Ты нам свои промежуточные итоги не показывай. Давай то что дано и то что надо получить.     | |||
| 26
    
        Rie 11.11.13✎ 09:12 | 
        (21) Да ты какую-то хрень нарисовал, из которой ничего не понятно - по каким критериям сворачивать. Ясно, что важен Врач. А дальше? Тебя ж о том и спрашивают, а ты изображаешь себя партизана на допросе в гестапо.
 Ну и раз задача - экзаменационная... Скока денег? | |||
| 27
    
        Cube 11.11.13✎ 09:12 | 
        (23) Да пожалуйста:
 Запрос = Новый Запрос(); | |||
| 28
    
        ak799 11.11.13✎ 09:14 | 
        не знаете, так и скажите, нефиг всякую ерунду писать     | |||
| 29
    
        1dvd 11.11.13✎ 09:15 | 
        (28) да, тут одни профаны сидят. Зря ты сюда зашёл     | |||
| 30
    
        Rie модератор 11.11.13✎ 09:15 | 
        (28) Вы на вопросы-то - ответьте. Если Вам действительно помощь нужна. А то ведь прикрою ветку - за троллинг с Вашей стороны.     | |||
| 31
    
        razlagator 11.11.13✎ 09:16 | 
        (29) ответь на вопрос из (10) хотябы, будь мужиком б***ть!     | |||
| 32
    
        1dvd 11.11.13✎ 09:17 | 
        (31) Я? откуда я знаю?     | |||
| 33
    
        Cube 11.11.13✎ 09:17 | 
        (28) Я смотрю, ты на своей волне.. Ну-ну, давай-давай...     | |||
| 34
    
        Rie модератор 11.11.13✎ 09:17 | 
        Видимо, (31)->(28).     | |||
| 35
    
        kosts 11.11.13✎ 09:18 | 
        (23) Ключевое поле для таблицы из (0) 
 
Добавь к своей таблице и сделай группировку по врачу и КП, часы суммируй, должно в принципе сработать. | |||
| 36
    
        Cube 11.11.13✎ 09:18 | 
        (32) Отвечай, когда спрашивают!!! В глаза смотреть, кому сказал?!!!!     | |||
| 37
    
        1dvd 11.11.13✎ 09:19 | 
        (35) И что даст такой ключ?     | |||
| 38
    
        Rie 11.11.13✎ 09:20 | 
        (35) Во-первых, типы данных. Хрен знает, что там у ТС. Во-вторых - NULL. Который забавно себя ведёт. В третьих - см. (14) - неизвестно, какие там у ТС поля.     | |||
| 39
    
        kosts 11.11.13✎ 09:21 | 
        (37) Да, не то написал, думать еще нужно...     | |||
| 40
    
        wertyu 11.11.13✎ 09:21 | 
        (0) ты бы хоть поделился, что за таблица )     | |||
| 41
    
        wertyu 11.11.13✎ 09:22 | 
        (38) пока ТС себя забавно ведёт     | |||
| 42
    
        Rie 11.11.13✎ 09:22 | 
        (39) Не нужно думать пока что. Нужно от ТС дождаться ответа - что ж у него за хрень такая. После этого можно будет думать. А пока - не о чем думать. Разве что гадать.     | |||
| 43
    
        Rie 11.11.13✎ 09:23 | 
        (41) У него на это забавное поведение ещё целых 8 минут есть.     | |||
| 44
    
        ak799 11.11.13✎ 09:24 | 
        таблицу я нарисовал. цифры в колонакх имеют тип перечисление. Это часы. Думаю это все что нужно для решения     | |||
| 45
    
        razlagator 11.11.13✎ 09:25 | 
        (44) вот упертый!     | |||
| 46
    
        kosts 11.11.13✎ 09:25 | 
        (44) Приведи всю задачу целиком, как есть...     | |||
| 47
    
        Cube 11.11.13✎ 09:26 | 
        (44) "Думаю это все что нужно для решения"
 Не угадал. Типы остальных колонок тоже надо... | |||
| 48
    
        Cube 11.11.13✎ 09:27 | 
        (44) "цифры в колонакх имеют тип перечисление"
 Чё-чё?)))) Прикольно, а можно вопрос - что за изврат? | |||
| 49
    
        Skom 11.11.13✎ 09:27 | 
        (12) "1. "Убрать" пустые поля - но для этого надо знать, null там или пустая строка. Тут возникает первое вычисляемое поле. "
 лечится функцией в запросе isnull(<Знач>,0) если поле null, то в таком варианте вернется - 0 | |||
| 50
    
        ak799 11.11.13✎ 09:28 | 
        (49) там могу поставить и NULL и пустую строку     | |||
| 51
    
        Wobland 11.11.13✎ 09:28 | 
        (48) я видал РН типа ОстаткиНаСкладах с ресурсами Размер42, Размер44...     | |||
| 52
    
        wertyu 11.11.13✎ 09:28 | 
        (44) хорошо, теперь объясни, почему например 15 из третьей строки должно попасть в первую, а не во вторую     | |||
| 53
    
        Skom 11.11.13✎ 09:29 | 
        (50) и все же без условий задачи целиком, никто не сможет подсказать.
 Я вот не понял чем терапевт отличается от терапевта | |||
| 54
    
        Rie 11.11.13✎ 09:29 | 
        (44) Не надо "нарисовал". Приведи описания _всех_ полей с указанием их типов. Укажи критерии для группировки и сортировки.     | |||
| 55
    
        Skom 11.11.13✎ 09:29 | 
        (48) тогда ты повидал в этой жизни уже все.     | |||
| 56
    
        Cube 11.11.13✎ 09:29 | 
        (54) +100     | |||
| 57
    
        wertyu 11.11.13✎ 09:30 | 
        (53) ты что Терапевта от Терапевта отличить не можешь?     | |||
| 58
    
        Cube 11.11.13✎ 09:30 | 
        (55) Чувствую, ща наверстаю... :D     | |||
| 59
    
        Cube 11.11.13✎ 09:30 | 
        (57) Пошла жара!)))))     | |||
| 60
    
        Rie 11.11.13✎ 09:30 | 
        (50) Да кто ж сомневается-то? Ты куда круче хрень можешь спроворить.     | |||
| 61
    
        ak799 11.11.13✎ 09:31 | 
        (52) потому что 10 меньше 11     | |||
| 62
    
        Skom 11.11.13✎ 09:31 | 
        (55) относится к (51)     | |||
| 63
    
        Skom 11.11.13✎ 09:31 | 
        (57) а-а-а-а ну так бы сразу и сказал ))))))))
 че это я, действительно. | |||
| 64
    
        Cube 11.11.13✎ 09:32 | 
        (62) Даже так?))     | |||
| 65
    
        Cube 11.11.13✎ 09:32 | 
        (61) А 12 больше 0 и что?     | |||
| 66
    
        Skom 11.11.13✎ 09:33 | 
        (65) добавлю
 0 меньше чем 12 | |||
| 67
    
        kosts 11.11.13✎ 09:34 | 
        (61) Как определить, что одно перечисление больше или меньше другого?     | |||
| 68
    
        wertyu 11.11.13✎ 09:34 | 
        (61) отлично, а теперь объясни почему терапевтов в итоге два, а хирургов только один     | |||
| 69
    
        ak799 11.11.13✎ 09:34 | 
        (67) хорошо, давайте по периоду записи в регистре сведений     | |||
| 70
    
        1dvd 11.11.13✎ 09:35 | 
        (68) ты чо? в поликлинике всегда куча терапевтов и один хирург     | |||
| 71
    
        ak799 11.11.13✎ 09:36 | 
        Новая строка в графике должна добавляться в график только в том случае,                                                
 если часы нельзя поместить в уже существующую строку графика для данного врача и дня недели. | |||
| 72
    
        Skom 11.11.13✎ 09:37 | 
        (68) сразу вспоминается анедкот
 - а давайте я тогда трактористу в**бу - а тракторист-то причем. - а у нас их все равно двое. | |||
| 73
    
        Coldboy 11.11.13✎ 09:37 | 
        (0) а просто сгруппировать разве не поможет?     | |||
| 74
    
        Skom 11.11.13✎ 09:37 | 
        (73) вся соль в 2 терапевтах и одном хирурге     | |||
| 75
    
        Cube 11.11.13✎ 09:38 | 
        (69) Всё, не позорься. Иди попей чайку, подумай... А завтра приходи... У тебя каша в голове.     | |||
| 76
    
        Rie модератор 11.11.13✎ 09:38 | 
        Леди и джентльмены! Тут я в затруднении. Формально ТС выполняет требования - то бишь, даёт показания, _формально_ имеющие отношения к задаче. Фактически же... Ну, все грамотные, все понимают... Поэтому - ветку не закрываю. Но переношу в "Юмор" и притапливаю. Если ТС перестанет играть в партизана на допросе у злобных фашистов - верну в тематический раздел и сниму утопление.
 Ну и, ak799... Дополнительный вопрос - вот зачем нужен 1Сник, который простенькую задачу не в состоянии самостоятельно сделать? | |||
| 77
    
        Skom 11.11.13✎ 09:38 | 
        Посоны, я кажисть понял, почему терапевтов двое: один мужчина, другой женщина!     | |||
| 78
    
        Coldboy 11.11.13✎ 09:39 | 
        ну они же свернутся, еще по колонкам ПН ВТ и тд или же я что-то не понимают? ведь врач и дни недели будут полями группировки и все же сойдется или я что-то не понимаю.     | |||
| 79
    
        wertyu 11.11.13✎ 09:39 | 
        (77) давай без шовинизма     | |||
| 80
    
        Rie 11.11.13✎ 09:40 | 
        (78) ТС сам не знает, чего хочет. Отсюда и все проблемы.     | |||
| 81
    
        Skom 11.11.13✎ 09:41 | 
        (79) у меня просто другого объяснения нет. хотя только что придумал, например Ориентация)))
 (78) если в группирующие поля добавить и дни недели, то вообще фигня получится. | |||
| 82
    
        razlagator 11.11.13✎ 09:41 | 
        (0) сделай 7 запросов, на каждый день     | |||
| 83
    
        ak799 11.11.13✎ 09:42 | 
        (76) гляжу ты сам не можешь выполнить "простенькую задачу". Кроме спама не видел ничего от тебя.     | |||
| 84
    
        ak799 11.11.13✎ 09:43 | 
        Господа начинающие программисты! Вопрос не для вас, а для профессионалов. Не пишите здесь, а то я разочаруюсь и пожалуюсь нургалиеву.     | |||
| 85
    
        eklmn гуру 11.11.13✎ 09:44 | 
        итить колотить, откуда такие ... берутся?     | |||
| 86
    
        Rie 11.11.13✎ 09:45 | 
        (83) Проспись. И приходи завтра. А пока что - п. 8.     | |||
| 87
    
        Torquader 11.11.13✎ 21:36 | 
        Насколько я понимаю, идея в том, чтобы выкинуть из таблицы пустые строки.
 Ну и в чём проблема - сначала перебрать таблицу и для каждого дня (сколько бы их там не было) для каждого врача сделать таблицу, где указать числа, которые в этот день соответствуют этому врачу. Потом для каждой строки найти максимальное число элементов в дочерней таблице. Далее - вывести таблицу заново. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |