Сравниние полей в запросе

1. whiteo 16.02.18 12:15 Сейчас в теме
Добрый день, есть запрос
ВЫБРАТЬ
	ПриходныйОрдерНаТоварыТовары.Номенклатура КАК Номенклатура,
	ПриходныйОрдерНаТоварыТовары.Номенклатура.Код КАК НоменклатураКод,
	ПриходныйОрдерНаТоварыТовары.Характеристика.Код КАК ХарактеристикаКод,
	ВЫБОР
		КОГДА ПриходныйОрдерНаТоварыТовары.Характеристика.Код = ПриходныйОрдерНаТоварыТовары.Номенклатура.Код
			ТОГДА 20
		ИНАЧЕ ПриходныйОрдерНаТоварыТовары.Количество
	КОНЕЦ КАК Количество
ИЗ
	Документ.ПриходныйОрдерНаТовары.Товары КАК ПриходныйОрдерНаТоварыТовары
Показать
Не могу победить условия сравнения в самом запросе, может кто подскажет в чем затык
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
16. Docaru 1 16.02.18 13:17 Сейчас в теме
(1)попробуй так
ВЫБРАТЬ
    ПриходныйОрдерНаТоварыТовары.Номенклатура КАК Номенклатура,
    ПриходныйОрдерНаТоварыТовары.Номенклатура.Код КАК НоменклатураКод,
    ПриходныйОрдерНаТоварыТовары.Характеристика.Код КАК ХарактеристикаКод,
    ВЫБОР
        КОГДА естьnull(ПриходныйОрдерНаТоварыТовары.Характеристика.Код,0) = естьnull(ПриходныйОрдерНаТоварыТовары.Номенклатура.Код,0)
            ТОГДА 20
        ИНАЧЕ ПриходныйОрдерНаТоварыТовары.Количество
    КОНЕЦ КАК Количество
ИЗ
    Документ.ПриходныйОрдерНаТовары.Товары КАК ПриходныйОрдерНаТоварыТовары
Показать
2. catena 110 16.02.18 12:19 Сейчас в теме
3. whiteo 16.02.18 12:19 Сейчас в теме
(2) мне нужно сравнивать 2 кода из ТЧ и если они совпадают проставлять фиксированное значение, если же нет то значение из ТЧ
4. DenisCh 16.02.18 12:20 Сейчас в теме
Наверное, ПриходныйОрдерНаТоварыТовары.Характеристика.Код <> ПриходныйОрдерНаТоварыТовары.Номенклатура.Код
6. whiteo 16.02.18 12:21 Сейчас в теме
7. catena 110 16.02.18 12:22 Сейчас в теме
(6)Ну показывайте скрин, что там у вас не срабатывает.
5. sommid 16.02.18 12:20 Сейчас в теме
так а что не так-то? что не получается?
- ошибка выполнения запроса?
- условие никогда не срабатывает, хотя кажется, что должно?
- еще что-то..
8. whiteo 16.02.18 12:23 Сейчас в теме
(5)Условие никогда не срабатывает
10. sommid 16.02.18 12:25 Сейчас в теме
(8) а типы Кодов этих справочников точно совпадают?
Может где-то строка, где-то число.
Может пробелы где-то затесались.

В консоли запросов проверяли? может проблема не в запросе, а последующей обработке
11. whiteo 16.02.18 12:54 Сейчас в теме
Типы одинаковы, длина типов тоже соответствует друг другу
Прикрепленные файлы:
12. DarkUser 16.02.18 12:56 Сейчас в теме
(11) В конфигураторе посмотрите, на скрине не видно что это за тип.
13. FesenkoA 57 16.02.18 12:57 Сейчас в теме
(11) погоди, тут же у тебя разные строки в запросе! Ты сравниваешь 13793 с null и получаешь ложь, а потом 7623 с 13793 и вновь мимо
t.v.s.; sommid; +2 Ответить
15. catena 110 16.02.18 13:14 Сейчас в теме
17. whiteo 16.02.18 14:01 Сейчас в теме
(15)Так в этом то и заключается задача, что нужно сравнить разные строки
19. sommid 16.02.18 14:05 Сейчас в теме
(17) тогда надо было описать задачу )
Неверный запрос - тут нужно соединять таблицу саму с собой, чтобы результатом были все комбинации строк документа.
Вы сначала осознайте что вам надо сделать, т.к. то что вы хотите и то что вы сделали наводит на мысль, что вы совсем не понимаете, что делаете.
25. Docaru 1 16.02.18 14:57 Сейчас в теме
(11)запрос верно все делает - у вас в строках разные коды, потом не 20 выводит, а количество.
9. Xamele0n88 16.02.18 12:24 Сейчас в теме
В одном случае тип кода строка в другом число
14. гаврюша 2 16.02.18 13:05 Сейчас в теме
Это разные справочники и код, соответственно разный. Может нужно сравнить код номенклатуры с кодом владельца характеристики?
КОГДА ПриходныйОрдерНаТоварыТовары.Характеристика.Владелец.Код = ПриходныйОрдерНаТоварыТовары.Номенклатура.Код
18. whiteo 16.02.18 14:05 Сейчас в теме
(14) в ТЧ код характеристики может быть или "" или номенклатура.код
20. Docaru 1 16.02.18 14:07 Сейчас в теме
на сколько я знаю, в запросе не получится сравнить строку с числом
21. sommid 16.02.18 14:10 Сейчас в теме
(20) уже вроде выяснили, что типы совпадают (см (11))
22. sommid 16.02.18 14:16 Сейчас в теме
попробуйте на пальцах объяснить, что именно вы хотите - можно на примере.
картинку с табчастью вы уже выше показали
23. whiteo 16.02.18 14:20 Сейчас в теме
(22) сделал через виртуальные таблицы, спасибо
24. sommid 16.02.18 14:29 Сейчас в теме
(23) скорее всего через временные ;)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот