|
Число строк табличной части через запрос | ☑ | ||
---|---|---|---|---|
0
Evladar
09.12.08
✎
14:41
|
У меня есть документ с табличной частью.
Мне нужно запросом понять, есть там что-нибудь или нет. Если написать такой запрос: "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК Всего АТабЧасть.Ссылка КАК Ссылка ИЗ Документ.А.ТабЧасть КАК АТабЧасть УПОРЯДОЧИТЬ ПО Ссылка"; то отловим только те строки, в которых что-то есть (1, 2, 3 и т.д.) 0 не получается. Даже если я делаю "ВЫБРАТЬ ВЫБОР КОГДА КОЛИЧЕСТВО(*) = &Всего //значение ставлю Неопределено, NULL. 0 - ничего не помогает ТОГДА 0 ИНАЧЕ КОЛИЧЕСТВО(*) КОНЕЦ КАК Всего, АТабЧасть.Ссылка КАК Ссылка ИЗ Документ.А.ТабЧасть КАК АТабЧасть УПОРЯДОЧИТЬ ПО Ссылка"; то все равно нужных мне нулей не получаю. Что делать? |
|||
1
almar
09.12.08
✎
14:43
|
ЕстьNull(КОЛИЧЕСТВО(*),0) КАК Всего
|
|||
2
Defender aka LINN
09.12.08
✎
14:44
|
(0) Если строк в сталичной части нет, то и записей в таблице "Документ.ИмяДокумента.ИмяТабличнойЧасти" не будет.
|
|||
3
Garkin
09.12.08
✎
14:46
|
(0) определить количество строк или количество не пустых строк?
|
|||
4
NULLL
09.12.08
✎
14:46
|
ВЫБРАТЬ
КОЛИЧЕСТВО(1) КАК Поле1 ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка = &Ссылка |
|||
5
Evladar
09.12.08
✎
14:47
|
almar, не помогает. Строки с нулем не появляются.
Defender aka LINN, так как же тогда понять, что записей нет? |
|||
6
Evladar
09.12.08
✎
14:48
|
Garkin, в данном случае это одно и то же.
Надо понять, есть ли строки в табличной части. |
|||
7
IronDemon
09.12.08
✎
14:51
|
Соединив с самим документом
|
|||
8
NULLL
09.12.08
✎
14:52
|
(5) Тогда тебе нужно левое соединение таблицы документов и таблицы ТЧ. И проверка на NULL
|
|||
9
hhhh
09.12.08
✎
14:55
|
(5) объясни на пальцах, что такое строки с нулем.
|
|||
10
hhhh
09.12.08
✎
14:56
|
(0) откуда вызывается этот запрос?
|
|||
11
Evladar
09.12.08
✎
14:57
|
hhhh, я хочу, чтобы результатом запроса была таблица с двумя столбцами:
- Ссылка - Число (или 0, если в табличной части пусто, или число строк) |
|||
12
Лефмихалыч
09.12.08
✎
15:01
|
ВЫБРАТЬ
ПоступлениеТоваровУслуг.Ссылка ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ПО ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугТовары.Ссылка ГДЕ ПоступлениеТоваровУслугТовары.Ссылка ЕСТЬ NULL |
|||
13
Defender aka LINN
09.12.08
✎
15:04
|
(11) Блин, ну элементарные же вещи...
Сложно? |
|||
14
AquaKosh
09.12.08
✎
15:05
|
(11) Бегло пробежался, может это поможет отцу русской демократии?
ВЫБРАТЬ Подзапрос.Ссылка, КОЛИЧЕСТВО(Подзапрос.Номенклатура) КАК Количество ИЗ (ВЫБРАТЬ РеализацияТоваровУслугТовары.Ссылка КАК Ссылка, РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка = &Ссылка) КАК Подзапрос СГРУППИРОВАТЬ ПО Подзапрос.Ссылка |
|||
15
Defender aka LINN
09.12.08
✎
15:11
|
(14) Не айс :)
|
|||
16
hhhh
09.12.08
✎
15:12
|
(14) не поможет. Строк нету, значит и группировать нечего. В выборке запроса 0 строк. Если мы их сгруппируем, все равно будет 0 строк.
|
|||
17
AquaKosh
09.12.08
✎
15:12
|
(0)(15) Ай, ай, позор на мою голову, был не внимателен...
|
|||
18
Evladar
09.12.08
✎
15:19
|
Defender aka LINN, нет нулей.
Или пустые ячейки, или ненулевое число. :( |
|||
19
Evladar
09.12.08
✎
15:20
|
"Максимум(НомерСтроки) КАК Количество".. Строк-то нет... Вот и количества нет
|
|||
20
AquaKosh
09.12.08
✎
15:30
|
(19) Вот, у меня так получилось
ВЫБРАТЬ РеализацияТоваровУслуг.Ссылка, ЕСТЬNULL(ЗапросКоличества.Количество, 0) КАК КоличествоСтрок ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Подзапрос.Ссылка КАК Ссылка, КОЛИЧЕСТВО(Подзапрос.Номенклатура) КАК Количество ИЗ (ВЫБРАТЬ РеализацияТоваровУслугУслуги.Ссылка КАК Ссылка, РеализацияТоваровУслугУслуги.Номенклатура КАК Номенклатура ИЗ Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги ГДЕ РеализацияТоваровУслугУслуги.Ссылка = &Ссылка) КАК Подзапрос СГРУППИРОВАТЬ ПО Подзапрос.Ссылка) КАК ЗапросКоличества ПО РеализацияТоваровУслуг.Ссылка = ЗапросКоличества.Ссылка ГДЕ РеализацияТоваровУслуг.Ссылка = &Ссылка |
|||
21
НЕА123
09.12.08
✎
15:32
|
(19) а ты хоть (13) проверил, прежде чем писать?
|
|||
22
Evladar
09.12.08
✎
15:34
|
HEA123, конечно проверил. (сначала я написал 18)
|
|||
23
Defender aka LINN
09.12.08
✎
15:36
|
(18) Дык 0 в ТЗ не отображается, формат ставь
|
|||
24
AquaKosh
09.12.08
✎
15:40
|
(23) Не, дело не в формате. Алгоритм из (13) везде 0 даёт.
|
|||
25
hhhh
09.12.08
✎
15:40
|
(22) у меня (13) работает. Твой запрос в студию.
|
|||
26
НЕА123
09.12.08
✎
15:42
|
вроде не пятница...
|
|||
27
Defender aka LINN
09.12.08
✎
15:43
|
(24) Лично проверил. Все работает.
|
|||
28
Defender aka LINN
09.12.08
✎
15:44
|
(18) "Или пустые ячейки, или ненулевое число." - Интересно, что же это число означает...
|
|||
29
AquaKosh
09.12.08
✎
15:46
|
(27) Да, работает. Это я туплю, пора пойти покурить. Меня ввело в заблуждение то, что запрос (13) возвращает все доки с 0 и только у нужного правильное количество.
|
|||
30
Evladar
09.12.08
✎
15:53
|
Defender aka LINN, спасибо.
Я, действительно, не просек, что тут нулевые значения не будут нулями стоять. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |