| 
    
            
         
         | 
    
  | 
        Как обработать такую таблицу     ↓ (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 
 | 
         
        Насколько я понимаю, идея в том, чтобы выкинуть из таблицы пустые строки.
 
        Ну и в чём проблема - сначала перебрать таблицу и для каждого дня (сколько бы их там не было) для каждого врача сделать таблицу, где указать числа, которые в этот день соответствуют этому врачу. Потом для каждой строки найти максимальное число элементов в дочерней таблице. Далее - вывести таблицу заново.  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |