Имя: Пароль:
1C
1С v8
в запросе если, можно ли так и где косяк
0 igoza
 
01.09.13
20:48
"ВЫБРАТЬ
        |    IP.Ссылка,
        |    IP.Интернет,
        |    IP.Комментарий,
        |    IP.РабочаяГруппа,
        |    IP.СистемноеИмя,
        |    IP.Помещение,
        |    IP.Запись,
        |    IP.MAC,
        |    IP.Сотрудник,
        |    ITУчётнаяЗапись.Ссылка КАК Ссылка1,
        |    ITУчётнаяЗапись.Пароль,
        |    РабочиеМеста.Помещение КАК Помещение1
        |ИЗ
        |    Справочник.IP КАК IP
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ITУчётнаяЗапись КАК ITУчётнаяЗапись
        |        ПО IP.Сотрудник = ITУчётнаяЗапись.ФИО
        |        ЕСЛИ IP.ПОМЕЩЕНИЕ = "" ТОГДА ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста
        |        ПО IP.Сотрудник = РабочиеМеста.Сотрудник КОНЕЦЕСЛИ;
        |
        |СГРУППИРОВАТЬ ПО
        |    IP.РабочаяГруппа,
        |    IP.Ссылка,
        |    IP.Интернет,
        |    IP.Комментарий,
        |    IP.СистемноеИмя,
        |    IP.Помещение,
        |    IP.Запись,
        |    IP.MAC,
        |    IP.Сотрудник,
        |    ITУчётнаяЗапись.Ссылка,
        |    ITУчётнаяЗапись.Пароль,
        |    РабочиеМеста.Помещение";
1 igoza
 
01.09.13
20:48
в запросе "Если"
2 igoza
 
01.09.13
20:50
как в запросе делать условия?
3 Лефмихалыч
 
01.09.13
20:56
|    Справочник.IP КАК IP
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ITУчётнаяЗапись КАК ITУчётнаяЗапись
        |        ПО IP.Сотрудник = ITУчётнаяЗапись.ФИО
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста
        |        ПО IP.Сотрудник = РабочиеМеста.Сотрудник  И IP.ПОМЕЩЕНИЕ = """";
4 Фокусник
 
01.09.13
21:22
IP... не ломает раскладку менять?
5 Йошка Рудель
 
01.09.13
21:29
(0) Разе есть "если" в 1С ном языке запросов?
6 mikecool
 
01.09.13
21:30
выбор когда ... тогда
когда ... тогда
...
иначе
...
конец
епа мать... ртфм
7 Йошка Рудель
 
01.09.13
21:33
(6) + вот что значит не читать мануал.
8 igoza
 
01.09.13
21:34
(7) читаю, иногда xD
Спасибо большое
9 igoza
 
01.09.13
21:44
теперь что не так??

"ВЫБРАТЬ
        |    IP.Ссылка,
        |    IP.Интернет,
        |    IP.Комментарий,
        |    IP.РабочаяГруппа,
        |    IP.СистемноеИмя,
        |    IP.Помещение,
        |    IP.Запись,
        |    IP.MAC,
        |    IP.Сотрудник,
        |    ITУчётнаяЗапись.Ссылка КАК Ссылка1,
        |    ITУчётнаяЗапись.Пароль,
        |    РабочиеМеста.Помещение КАК Помещение1
        |ИЗ
        |    Справочник.IP КАК IP
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ITУчётнаяЗапись КАК ITУчётнаяЗапись
        |        ПО IP.Сотрудник = ITУчётнаяЗапись.ФИО
        |        ВЫБОР КОГДА (IP.ПОМЕЩЕНИЕ = """") ТОГДА (ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста ПО IP.Сотрудник = РабочиеМеста.Сотрудник) КОНЕЦ
        |
        |СГРУППИРОВАТЬ ПО
        |    IP.РабочаяГруппа,
        |    IP.Ссылка,
        |    IP.Интернет,
        |    IP.Комментарий,
        |    IP.СистемноеИмя,
        |    IP.Помещение,
        |    IP.Запись,
        |    IP.MAC,
        |    IP.Сотрудник,
        |    ITУчётнаяЗапись.Ссылка,
        |    ITУчётнаяЗапись.Пароль,
        |    РабочиеМеста.Помещение";
10 Йошка Рудель
 
01.09.13
21:49
(8) Как задача изначально звучит? потому что по коду понять можно, но код от задачи бывает далек.
11 Лефмихалыч
 
01.09.13
21:53
(9) ВЫБОР нельзя использовать в этом месте. Решение в (3)
12 igoza
 
01.09.13
21:55
спасибо пойдём дальше ковыряться)
13 Йошка Рудель
 
01.09.13
22:07
(12) Вам же в (3) правильно описали условие.
14 igoza
 
01.09.13
22:10
(13) да оно работает, но это не то, что нада
15 Йошка Рудель
 
01.09.13
22:16
(14) Понятно, что будет соединять где помещение = "" и в результате будет либо NULL с помещением = "", либо сотрудник с помещением = "", так я вот и добиваюсь от вас, того что вам надо получить в результате?
16 igoza
 
01.09.13
22:20
в результате если в IP.ПОМЕЩЕНИЕ = """" то нада найти в нада достать помещение из другового справочника
17 igoza
 
01.09.13
22:21
в результате если в IP.ПОМЕЩЕНИЕ = """" то нада найти помещение в другом справочнике
18 Йошка Рудель
 
01.09.13
22:24
решений много, можно соединить с этой таблицей, а на резултат поставить условие,  либо делать через временные таблицы,...киньте название таблиц попробую сочинить, но только завтра, ок.
19 igoza
 
01.09.13
22:25
"ВЫБРАТЬ
        |    IP.Ссылка,
        |    IP.Интернет,
        |    IP.Комментарий,
        |    IP.РабочаяГруппа,
        |    IP.СистемноеИмя,
        //|    IP.Помещение,
        |    ВЫБОР КОГДА (IP.ПОМЕЩЕНИЕ = """") ТОГДА (ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста ПО IP.Сотрудник = РабочиеМеста.Помещение) КОНЕЦ КАК Помещение,
        |    IP.Запись,
        |    IP.MAC,
        |    IP.Сотрудник,
        |    ITУчётнаяЗапись.Ссылка КАК Ссылка1,
        |    ITУчётнаяЗапись.Пароль,
        |    РабочиеМеста.Помещение КАК Помещение1
        |ИЗ
        |    Справочник.IP КАК IP
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ITУчётнаяЗапись КАК ITУчётнаяЗапись
        |        ПО IP.Сотрудник = ITУчётнаяЗапись.ФИО
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста
        |       ПО IP.Сотрудник = РабочиеМеста.Сотрудник  И IP.ПОМЕЩЕНИЕ = """"
        //|        ВЫБОР КОГДА (IP.ПОМЕЩЕНИЕ = """") ТОГДА (ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста ПО IP.Сотрудник = РабочиеМеста.Сотрудник) КОНЕЦ
        |
        |СГРУППИРОВАТЬ ПО
        |    IP.РабочаяГруппа,
        |    IP.Ссылка,
        |    IP.Интернет,
        |    IP.Комментарий,
        |    IP.СистемноеИмя,
        |    IP.Помещение,
        |    IP.Запись,
        |    IP.MAC,
        |    IP.Сотрудник,
        |    ITУчётнаяЗапись.Ссылка,
        |    ITУчётнаяЗапись.Пароль,
        |    РабочиеМеста.Помещение";
20 hhhh
 
01.09.13
22:34
(19) ну нельзя в условиях соединение ставить, 10 раз ведь сказали.
21 igoza
 
01.09.13
22:43
"ВЫБРАТЬ
        |    IP.Ссылка,
        |    IP.Интернет,
        |    IP.Комментарий,
        |    IP.РабочаяГруппа,
        |    IP.СистемноеИмя,
        |    IP.Помещение,
        |    ВЫБОР КОГДА (IP.ПОМЕЩЕНИЕ = """") ТОГДА (ВЫБОР КОГДА Справочники.РабочиеМеста.Сотрудник = IP.Сотрудник ТОГДА Справочник.РабочиеМеста.Помещение КОНЕЦ) КОНЕЦ КАК Помещение,
        |    IP.Запись,
        |    IP.MAC,
        |    IP.Сотрудник,
        |    ITУчётнаяЗапись.Ссылка КАК Ссылка1,
        |    ITУчётнаяЗапись.Пароль,
        |    РабочиеМеста.Помещение КАК Помещение1
        |ИЗ
        |    Справочник.IP КАК IP
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ITУчётнаяЗапись КАК ITУчётнаяЗапись
        |        ПО IP.Сотрудник = ITУчётнаяЗапись.ФИО
        //|        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста
        //|       ПО IP.Сотрудник = РабочиеМеста.Сотрудник  И IP.ПОМЕЩЕНИЕ = """"
        //|        ВЫБОР КОГДА (IP.ПОМЕЩЕНИЕ = """") ТОГДА (ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста ПО IP.Сотрудник = РабочиеМеста.Сотрудник) КОНЕЦ
        |
        |СГРУППИРОВАТЬ ПО
        |    IP.РабочаяГруппа,
        |    IP.Ссылка,
        |    IP.Интернет,
        |    IP.Комментарий,
        |    IP.СистемноеИмя,
        |    IP.Помещение,
        |    IP.Запись,
        |    IP.MAC,
        |    IP.Сотрудник,
        |    ITУчётнаяЗапись.Ссылка,
        |    ITУчётнаяЗапись.Пароль,
        |    РабочиеМеста.Помещение";
22 hhhh
 
01.09.13
23:00
(0) вот это выкинь

       |    ВЫБОР КОГДА (IP.ПОМЕЩЕНИЕ = """") ТОГДА (ВЫБОР КОГДА Справочники.РабочиеМеста.Сотрудник = IP.Сотрудник ТОГДА Справочник.РабочиеМеста.Помещение КОНЕЦ) КОНЕЦ КАК Помещение,

напиши

РабочиеМеста.Помещение КОНЕЦ КАК Помещение

чего ты фигней страдаешь?
23 hhhh
 
01.09.13
23:08
РабочиеМеста.Помещение КАК Помещение,
24 viktor_vv
 
02.09.13
00:33
Надо (3) в соединении, а в Выбрать

Выбор когда ip.помещение = """" тогда рабочиеМеста.помещение иначе ip.помещение конец как Помещение,
25 Dimaster
 
02.09.13
02:18
(24) А тупо менять в коде текст запроса нельзя?
26 Starhan
 
02.09.13
06:40
(0)Надо соединяться с обоими таблицами сразу, а в ВЫБРАТЬ писать выбор поля с условием.
ВЫБОР КОГДА УСЛОВИЕ Поле1 (из первой таблицы) ИНАЧЕ Поле2 (из второй таблицы)