| 
    
        
     
     | 
    
  | 
Запрос. Выбрать более одного заполненного поля по сотруднику. | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Alxesp    
     14.12.15 
            ✎
    10:03 
 | 
         
        В таблице есть поле "Сотрудник" + текстовые поля "поле1", "поле2", "поле3".
 
        Нужно выбрать строки с одинаковым сотрудником и при этом любое из полей должно быть заполнено (не = "") более, чем в 1 строке. Натолкните на мысль плиз - что-то ничего в голову не приходит.  | 
|||
| 
    1
    
        asady    
     14.12.15 
            ✎
    10:08 
 | 
         
        (0) приведи пример     
         | 
|||
| 
    2
    
        aleks_default    
     14.12.15 
            ✎
    10:14 
 | 
         
        СУММА (ВЫБОР КОГДА Поле1<>"" ИЛИ Поле2<>"" ИЛИ Поле3<>"" ТОГДА 1 Иначе 0 КОНЕЦ)     
         | 
|||
| 
    3
    
        Alxesp    
     14.12.15 
            ✎
    10:16 
 | 
         
        (1) Блин. Понятно же вроде написал.
 
        № Фамилия Поле1 Поле2 1) Иванов "АВ" "" 2) Петров "" "ВА" 3) Иванов "РК" "" 4) Петров "СМ" "" Должна быть выбрана 1) и 3)  | 
|||
| 
    4
    
        Alxesp    
     14.12.15 
            ✎
    10:18 
 | 
         
        (2) Одно и тоже поле в разных строках с одним сотрудником, а не в одной строке!
 
        (видимо непонятно написал :()  | 
|||
| 
    5
    
        salvator    
     14.12.15 
            ✎
    10:21 
 | 
         
        (2) Только наверно не ИЛИ, а И     
         | 
|||
| 
    6
    
        Alxesp    
     14.12.15 
            ✎
    10:21 
 | 
         
        (3) (4) Грубо говоря при свертке по сотруднику(и суммированию по полям Поле1, поле2...) должно быть только два символа в поле (заполнено значение только в одной строке). Строк не удовлетворяющие этому условию и нужно найти (выбрать).     
         | 
|||
| 
    7
    
        Alxesp    
     14.12.15 
            ✎
    10:24 
 | 
         
        (2) (5) Да мне по барабану сколько заполнено в 1-й строке!
 
        В разных строках с одним сотрудником поле должно быть заполнено только 1 раз (в одной строке)! Или вы про это же? Тогда недопонял.  | 
|||
| 
    8
    
        salvator    
     14.12.15 
            ✎
    10:35 
 | 
         
        Как-то так
 
        ВЫБРАТЬ Таб.Сотрудник, СУММА(ВЫБОР КОГДА Таб.Поле1 = "" ТОГДА 0 ИНАЧЕ 1 КОНЕЦ) КАК СчПоле1, СУММА(ВЫБОР КОГДА Таб.Поле2 = "" ТОГДА 0 ИНАЧЕ 1 КОНЕЦ) КАК СчПоле2, СУММА(ВЫБОР КОГДА Таб.Поле3 = "" ТОГДА 0 ИНАЧЕ 1 КОНЕЦ) КАК СчПоле3 ПОМЕСТИТЬ ТабВрем ИЗ Таб КАК Таб СГРУППИРОВАТЬ ПО Таб.Сотрудник ; ВЫБРАТЬ Таб.Сотрудник, Таб.Поле1, Таб.Поле2, Таб.Поле3 ИЗ ТабВрем КАК ТабВрем ЛЕВОЕ СОЕДИНЕНИЕ Таб КАК Таб ПО ТабВрем.Сотрудник = Таб.Сотрудник ГДЕ ТабВрем.СчПоле1 > 1 ИЛИ ТабВрем.СчПоле2 > 1 ИЛИ ТабВрем.СчПоле3 > 1 ;  | 
|||
| 
    9
    
        aleks_default    
     14.12.15 
            ✎
    10:47 
 | 
         
        (8)Что ты сделал? Надо было идею человеку подать, а не задачу решить. Вот чем ему теперь заняться?:)     
         | 
|||
| 
    10
    
        Alxesp    
     14.12.15 
            ✎
    10:49 
 | 
         
        (8) Спасибо.     
         | 
|||
| 
    11
    
        Мэс33    
     14.12.15 
            ✎
    10:58 
 | 
         
        (9) ну что теперь:
 
        Alxesp - ставим пять а salvator - двойку )))  | 
|||
| 
    12
    
        aleks_default    
     14.12.15 
            ✎
    11:10 
 | 
         
        (11) "Вот так и учатся на врача, а потом людей лечат"(с)     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |