orefkov1. из вчерашнего осталось только
select * from Номенклатура
where parentid = ' 0 '
and isfolder = 1
and descr > 'У'
дает пустой запрос, хотя
элементы, удовлетворяющие условию, есть
select * from Номенклатура
where parentid = ' 0 '
and isfolder = 1
and descr < 'У'
"<", "!=", "-" - отрабатывает нормально.
select * from Номенклатура
where parentid = ' 0 '
and isfolder = 1
and descr > 'У'
order by descr
отрабатывает нормально, но там совсем другой план выполнения
2. из нового - вот так, похоже, клинит ее (результат совсем неожидаемый, хотя индекс для Н2 выбирает верно)
select Н1.descr, Н2.descr from Номенклатура Н1
left join Номенклатура Н2
on Н1.parentid = Н2.id
вот так - результат другой
select Н1.descr, Н2.descr from Номенклатура Н1
join Номенклатура Н2
on Н1.parentid = Н2.id
для обоих вариантов значения Н1.descr и Н2.descr одинаковые (это неверно)
в первом варианте выдает всего две строки
full join
right join
на том же тесте выдают пустой результат (==0) без объяснения причин.
Когда ты добавишь обработку ошибок, настанет праздник.
3. Для реквизита, по которому стоит галка "Отбор" (флажок, возможные значения 0 и 1)
select * from Номенклатура
where _фпНеВключатьВПрайс = 0
Все отлично, включая выбор индекса
select * from Номенклатура
where _фпНеВключатьВПрайс > 0
В результат попадают _все_ строки (условие не учитывается), хотя выбор индекса правильный
Условие "=1" ">1" выдают одинаковый результат, соответствующий "=1" (для ">1" должен быть пустой результат).
Условие "!=1" не учитывается (выдаются все строки), индекс не используется
6 Integer 1 0
7 Eq 355 50 collseq(BINARY)
4. (добавлено 10.27 0:22)
select * from Номенклатура
where parentid = ' 0 '
and isfolder = 1
and descr < 'У'
order by descr
как оказалось, неверно отрабатывает
без упорядочивания дает 56 строк (похоже на правду), с упорядочиванием - только 7.