|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
go1c
18.06.13
✎
00:23
|
Есть к примеру запрос:
ВЫБРАТЬ 1 КАК Поле1, 2 КАК Поле2, 4 КАК Поле3, 4 КАК Поле4 ПОМЕСТИТЬ втСтроки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0, 0, 0, 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4, -8, -4, 8 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втСтроки.Поле1, втСтроки.Поле2, втСтроки.Поле3, втСтроки.Поле4 ИЗ втСтроки КАК втСтроки Какое условие нужно прописать в разделе ГДЕ чтобы отобрать записи поля которых одновременно равны нулю |
|||
1
go1c
18.06.13
✎
00:24
|
одновременно НЕ РАВНЫ нулю
|
|||
2
go1c
18.06.13
✎
01:06
|
получилось с таким условием
ГДЕ ВЫБОР КОГДА втСтроки.Поле1 + втСтроки.Поле2 + втСтроки.Поле3 + втСтроки.Поле4 = 0 И втСтроки.Поле1 - втСтроки.Поле2 - втСтроки.Поле3 - втСтроки.Поле4 = 0 ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ может будут еще варианты или замечания? |
|||
3
Нуф-Нуф
18.06.13
✎
01:08
|
Че?
|
|||
4
zladenuw
18.06.13
✎
02:43
|
ИМЕЮЩИЕ
СУММА(втСтроки.Поле1 + втСтроки.Поле2 + втСтроки.Поле3 + втСтроки.Поле4) = 0 |
|||
5
SeraFim
18.06.13
✎
04:01
|
(2) 0 1 -1 0 в выборку при таком условии не попадет.
Чем ГДЕ Поле1 <> 0 и Поле2 <> 0 и Поле3 <> 0 и Поле4 <> 0 не устраивает? |
|||
6
x-a-d
18.06.13
✎
04:54
|
(5) правильно.
суммировать нельзя, т.к. например 5 + (-5) = 0 Сумма нулевая, но составляющие нет. |
|||
7
MiniMuk
18.06.13
✎
05:50
|
ВЫБРАТЬ
|
|||
8
SeraFim
18.06.13
✎
05:55
|
(7)извращенец
|
|||
9
MiniMuk
18.06.13
✎
05:57
|
(8) 1 правило юзера работает - не трож.
2 правило, можешь лучше сделай |
|||
10
go1c
18.06.13
✎
11:49
|
(7) Спасибо за ваш вариант решения задачи. Может у кого то еще будут идеи?
|
|||
11
lamesnake
18.06.13
✎
11:53
|
Если "одновременно НЕ РАВНЫ нулю" = ни одно не равно нулю, тогда
ГДЕ Поле1*Поле2*Поле3*Поле4 <> 0 |
|||
12
Classic
18.06.13
✎
11:53
|
ИМЕЮЩИЕ
ВЫБОР КОГДА Поле1 > 0 ТОГДА Поле1 ИНАЧЕ -Поле1 КОНЕЦ + ВЫБОР КОГДА Поле2 > 0 ТОГДА Поле2 ИНАЧЕ -Поле2 КОНЕЦ + ВЫБОР КОГДА Поле3 > 0 ТОГДА Поле3 ИНАЧЕ -Поле3 КОНЕЦ + ВЫБОР КОГДА Поле4 > 0 ТОГДА Поле4 ИНАЧЕ -Поле4 КОНЕЦ <> 0 |
|||
13
Ненавижу 1С
гуру
18.06.13
✎
11:54
|
(11) яростно плюсую
|
|||
14
go1c
18.06.13
✎
12:04
|
(12) спасибо, как по мне пока самое лаконичное решение
|
|||
15
palpetrovich
18.06.13
✎
12:05
|
(14) а (11) чем не нравится?
|
|||
16
go1c
18.06.13
✎
12:08
|
(15) условие на ОДНОВРЕМЕННОЕ неравенство 0 всех полей, условие из (11) для, к примеру полей, 0 1 1 1 не выполняется.
|
|||
17
lamesnake
18.06.13
✎
12:19
|
Переведи на русский "одновременно не равны нулю".
|
|||
18
acsent
18.06.13
✎
12:22
|
за все кроме
ГДЕ Поле1 <> 0 и Поле2 <> 0 и Поле3 <> 0 и Поле4 <> 0 нужно палкой по рукам |
|||
19
go1c
18.06.13
✎
12:23
|
(17) если в запросе 4е колонки, то строки с полями 0 0 0 0 должны отсекаться
|
|||
20
go1c
18.06.13
✎
12:25
|
(18) ну ну
|
|||
21
WIRL
18.06.13
✎
12:25
|
a=0, b=0, c=0 равносильно a*a + b*b + с*с =0
|
|||
22
Ненавижу 1С
гуру
18.06.13
✎
12:25
|
(16) ГДЕ Поле1*Поле1+Поле2*Поле2+Поле3*Поле3+Поле4*Поле4<>0
|
|||
23
lamesnake
18.06.13
✎
12:30
|
(18) тогда уж, как выяснилось
ГДЕ Поле1 <> 0 или Поле2 <> 0 или Поле3 <> 0 или Поле4 <> 0 |
|||
24
exwill
18.06.13
✎
12:33
|
(22) )))))))))))
Математик, однако! |
|||
25
go1c
18.06.13
✎
12:35
|
(23) Браво) прекрасная логика
|
|||
26
exwill
18.06.13
✎
12:36
|
(19) А строки с 0 0 0 1 должны входить в результат?
|
|||
27
palpetrovich
18.06.13
✎
12:36
|
мдя, жаль что так нельзя
ГДЕ Поле1=Поле2=Поле3=0 ...кста почему? :) |
|||
28
go1c
18.06.13
✎
12:36
|
(22) Спасибо
|
|||
29
go1c
18.06.13
✎
12:37
|
(26) конечно
|
|||
30
exwill
18.06.13
✎
12:48
|
(27) Почему нельзя?
Можно. ГДЕ Поле1=Поле2 И Поле1=Поле3 И Поле1=Поле4 И Поле1=0 |
|||
31
go1c
18.06.13
✎
12:53
|
(30) как вариант, только в контексте этой задачи правильней ГДЕ НЕ(Поле1=Поле2 И Поле1=Поле3 И Поле1=Поле4 И Поле1=0)
|
|||
32
palpetrovich
18.06.13
✎
13:19
|
(30) в некоторых языках программирования конструкция из (27) существует и без "И" :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |