|
Проверка на совпадения двух таблиц | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
17.02.17
✎
09:19
|
Утро доброе(у кого утро). Есть два вложенных запроса. Каждый из которых выдает перечень проданных товаров смены. (2 смены - 2 запроса). теперь нужно проверить сколько товаров продала 1 смена, которые не продала 2 смена. XD ТОЕСТЬ 1 смена продала товар1 и товар2 а вторая смена продала товар1 и товар3 нужно вывести "товар2" тоесть 1 смена продала товар2, который не продала 2 смена. пробовал так. (Не так давно начал программировать, за банальные ошибки не ругайте, лучше подскажите)...и прошу сильно не смеяться
ВЫБРАТЬ ВЫБОР КОГДА НЕ Смена1.Значение В (Смена2.Значение) ТОГДА КОЛИЧЕСТВО(НЕ Смена1.Значение В (Смена2.Значение)) ИНАЧЕ 0 КОНЕЦ КАК Поле1 ИЗ (ВЫБРАТЬ РегистрБухгалтерииСубконто.Значение КАК Значение, ВЫБОР КОГДА ДЕНЬ(РегистрБухгалтерии.Период) В (2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30) ТОГДА "1" КОНЕЦ КАК Смена ИЗ РегистрБухгалтерии.РегистрБухгалтерии КАК РегистрБухгалтерии ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии.Субконто КАК РегистрБухгалтерииСубконто ПО РегистрБухгалтерии.Регистратор = РегистрБухгалтерииСубконто.Регистратор) КАК Смена1, (ВЫБРАТЬ РегистрБухгалтерииСубконто.Значение КАК Значение, ВЫБОР КОГДА НЕ ДЕНЬ(РегистрБухгалтерии.Период) В (2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30) ТОГДА "2" КОНЕЦ КАК Смена ИЗ РегистрБухгалтерии.РегистрБухгалтерии КАК РегистрБухгалтерии ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии.Субконто КАК РегистрБухгалтерииСубконто ПО РегистрБухгалтерии.Регистратор = РегистрБухгалтерииСубконто.Регистратор) КАК Смена2 СГРУППИРОВАТЬ ПО Смена1.Значение, Смена2.Значение Но к сожалению ничего не работает. Из за ВЫБОР КОГДА НЕ Смена1.Значение В (Смена2.Значение) ТОГДА КОЛИЧЕСТВО(НЕ Смена1.Значение В (Смена2.Значение)) ИНАЧЕ 0 КОНЕЦ КАК Поле1 как раз таки нужных строк. |
|||
1
osa1C
17.02.17
✎
09:23
|
(0) ТС зачем ты ветки плодишь на одну и ту же тему?
Язык запросов |
|||
2
osa1C
17.02.17
✎
09:27
|
КОГДА НЕ ДЕНЬ(РегистрБухгалтерии.Период) В (2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30)
ТОГДА "2" КОНЕЦ КАК Смена Это кто же тебя на такой код надоумил? |
|||
3
osa1C
17.02.17
✎
09:29
|
+ (2) попробуй для начала этим кодом получить какая смена работала в определенный день, но не за один месяц, а с 1 января по 31 марта
|
|||
4
h-sp
17.02.17
✎
09:42
|
(0) ВЫБРАТЬ
Смена1.Товар КАК Товар ИЗ Документы.Смена.Товары КАК Смена1 ЛЕВОЕ СОЕДИНЕНИЕ Документы.Смена.Товары КАК Смена2 ПО Смена1.Товар = Смена2.Товар ГДЕ Смена1.Ссылка = &Смена1 И Смена2.Ссылка = &Смена2 И Смена2.Товар ЕСТЬ NULL |
|||
5
MAPATNK2
naïve
17.02.17
✎
10:13
|
(3) Все работает ведь. Это главное)) Просто есть 2 смены, одни работают по четным дням, другие по нечетным, вот и пришлось выкручиваться. А есть другая возможность проверки даты на четность в Запросе?
|
|||
6
Naf2017
17.02.17
✎
10:50
|
(5) у даты нет понятия четности, есть понятие у дня месяца как числа
ВЫБОР КОГДА ДЕНЬ(Период)/2=ВЫРАЗИТЬ(ДЕНЬ(Период)/2 КАК ЧИСЛО(3,0)) ТОГДА "Четное" ИНАЧЕ "Нечетное" КОНЕЦ |
|||
7
Живой Ископаемый
17.02.17
✎
11:09
|
Tot можно пихнуть ТЗ в ХранилищеЗначений, и взять от него хэш. Два одинаковых хэша - две одинаковые таблицы
|
|||
8
MAPATNK2
naïve
17.02.17
✎
12:01
|
(7) Все должно реализоваться в СКД
|
|||
9
Злопчинский
17.02.17
✎
12:10
|
(5) > Просто есть 2 смены, одни работают по четным дням, другие по нечетным,
31 и 1 числа работает одна и та же смена? этак у вас одна смена всегда будет работать больше другой... |
|||
10
MAPATNK2
naïve
17.02.17
✎
12:13
|
(9) Не страшно. Давайте пожалуйста по сути.
|
|||
11
h-sp
17.02.17
✎
12:49
|
(10) вы базу выложите, на которой тренируетесь. Очень сложно подсказывать, не зная что за конфигурация, какая структура данных.
|
|||
12
osa1C
17.02.17
✎
12:50
|
(10) А ты упрямый. Давай тогда по сути. Программирование - это не твоё. Займись чем-нибудь другим в этой жизни.
|
|||
13
MAPATNK2
naïve
17.02.17
✎
13:25
|
(11) Куда же?
|
|||
14
MAPATNK2
naïve
17.02.17
✎
13:28
|
(12) ну тут почти в каждой теме эту фразу можно найти.
Спасибо за совет, следовать ему я конечно не буду... |
|||
15
Мимохожий Однако
17.02.17
✎
13:28
|
(0) Сделай одним запросом к двум сменам
|
|||
16
FIXXXL
17.02.17
✎
13:30
|
(0) тебе просто ФАКТ продажи по смене нужен?
|
|||
17
MAPATNK2
naïve
17.02.17
✎
13:34
|
(6) Спасибо. Работает, приму к сведению.
|
|||
18
h-sp
17.02.17
✎
13:37
|
(13) выкладывай в облако. или яндекс диск
|
|||
19
MAPATNK2
naïve
17.02.17
✎
13:38
|
(16) Первый столбец "смена" второй столбец "проданный товар".
Есть два вложенных запроса. 1 - это первая смена в первом столбце и "товары" которые она продала во втором. 2 - это вторая смена в первом столбце и "товары" которые она продала во втором. Мне нужно их сравнивать. тоесть проверить совпадают ли товары которые продали две смены. |
|||
20
MAPATNK2
naïve
17.02.17
✎
13:44
|
||||
21
FIXXXL
17.02.17
✎
13:50
|
(19) факт продажи - это наличие продажи хотя бы одной штуки
если так устроит, сделай два запроса через ОБЪЕДИНИТЬ, добавь в оба поле "1", результат положи во временную таблицу(ВТ1) ВТ1 сгруппируй по товару, у которого "не равно 2" - это товар расхождений, положи его в ВТ2 затем ВТ2 соедини с ВТ1, у кого есть совпадения - тот и "разный" |
|||
22
MAPATNK2
naïve
17.02.17
✎
14:00
|
(21) Наверное нужно было сразу же целиком описать задачу. данный метод если и решит, то только пол задачи. В дальнейшем нужно будет смотреть пересечения множест проданных товаров. и ставить знак > для смены, котораяпродала множество товаров, совпадающих с множеством другой смены + другие.
|
|||
23
FIXXXL
17.02.17
✎
14:01
|
(22) ну ты не торопись, выдавливай задачу кусками
тут такое любят и сразу помогают :) |
|||
24
Serginio1
17.02.17
✎
14:54
|
||||
25
MAPATNK2
naïve
17.02.17
✎
15:09
|
(24) в таблице я бы без проблем свернул. единственный мой вопрос...как это делается в запросах
|
|||
26
MAPATNK2
naïve
17.02.17
✎
15:19
|
ВЫБРАТЬ
РегистрБухгалтерииСубконто.Значение КАК Товар, ВЫБОР КОГДА ДЕНЬ(РегистрБухгалтерии.Период) / 2 = (ВЫРАЗИТЬ(ДЕНЬ(РегистрБухгалтерии.Период) / 2 КАК ЧИСЛО(3, 0))) ТОГДА "Четные" ИНАЧЕ "Нечетные" КОНЕЦ КАК Смена ИЗ РегистрБухгалтерии.РегистрБухгалтерии КАК РегистрБухгалтерии ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии.Субконто КАК РегистрБухгалтерииСубконто ПО РегистрБухгалтерии.Период = РегистрБухгалтерииСубконто.Период Как вывести только четные или только нечетные? |
|||
27
Serginio1
17.02.17
✎
15:22
|
(25) Там есть примеры и на SQL
|
|||
28
Naf2017
17.02.17
✎
15:26
|
(26) что это зап бред?
|
|||
29
MAPATNK2
naïve
20.02.17
✎
07:07
|
(28) что не так?
|
|||
30
MAPATNK2
naïve
20.02.17
✎
07:08
|
(28) Это не рабочая база, а учебная, в ней нет информации, которая могла бы быть в реальных условиях, поэтому и запросы к данным своеобразные.
|
|||
31
MAPATNK2
naïve
20.02.17
✎
07:09
|
Как МОЖНО ВЫВЕСТИ ТОЛЬКО ЧЕТНЫЕ ИЛИ ТОЛЬКО НЕЧЕТНЫЕ ДАТЫ?
|
|||
32
Неверный Параметр И
20.02.17
✎
07:16
|
(31) СПРОСИТЬ ОБ ЭТОМ ВО ВСЕХ ТЕМАХ БОЛЬШИМИ БУКВАМИ
Начать уже учиться самому не предлагать? |
|||
33
MAPATNK2
naïve
20.02.17
✎
07:17
|
(32) С удовольствием, где бы взять материал?
|
|||
34
DrZombi
гуру
20.02.17
✎
07:19
|
(31) В цикле, зачем тебе запрос?
Вы запросом реализуйте, то что можете сделать циклом |
|||
35
Неверный Параметр И
20.02.17
✎
07:21
|
(33) Материал - это ответы на вопросы? Нигде. Решай сам. С удовольствием.
|
|||
36
MAPATNK2
naïve
20.02.17
✎
07:26
|
(35) Слушай, если не знаешь как помочь, смысл заходить в каждую тему и поливать людей по чем зря. Если я задаю вопросы и пытаюсь понять, я уже учусь. К сожалению в методических указаниях я не нашел никакой информации по моему вопросу, поэтому и обратился сюда. Ступай мимо)
|
|||
37
MAPATNK2
naïve
20.02.17
✎
07:27
|
(34) Какой цикл? Главное условие - реализация на СКД. Никакого лишнего кода. Я бы давно все решил, но к сожалению нельзя пользоваться обработками дополнительными и доп кодом. Только то, что можно реализовать в СКД
|
|||
38
Неверный Параметр И
20.02.17
✎
07:28
|
(36) Я тоже задаю вопросы, пытаюсь понять и учусь. Тебе что-то не нравится?
|
|||
39
DrZombi
гуру
20.02.17
✎
07:28
|
(36) Ты тут халяву не найдешь. Реши сам. Найти строку в одной ТЗ, и не найти в другой, очень просто.
1. Берем одну ТЗ № 1, и в цикле проходим по каждой строчке 2. Используя Строчки в ТЗ № 1, ищем строку в ТЗ № 2. Если находим, то удаляем её из ТЗ № 2. И Удаляем её из ТЗ № 1 3. Все что останется в ТЗ № 1 и ТЗ № 2, это и будет разница. 4. В промежутке пишем все, куда либо... Вам веднее :) |
|||
40
DrZombi
гуру
20.02.17
✎
07:29
|
(37) СКД, это отчет, Используй в СКД в качестве источника ТЗ...
|
|||
41
DrZombi
гуру
20.02.17
✎
07:30
|
(38) Да он не адекватный, и с СКД работать не умеет :)
(0)ТС держи сайтик, дарю http://1cskd.ru/2010/07/vneshnie-nabori-dannyh/ |
|||
42
MAPATNK2
naïve
20.02.17
✎
07:36
|
(41) Спасибо, приму к сведению . но необходимо выполнять в се в запросе. а не доп кодом.
|
|||
43
MAPATNK2
naïve
20.02.17
✎
07:38
|
(41) К сожалению именно СКД и языком запросов владею действительно плохо. Не просто так написал сюда)). Халявы не ищу. Просто необходимо понять , как мне в запросе получить только четные даты.
Тоесть четная дата - товар четная дата - товар2 Методом "тогда когда" не получается. Есть ли другие способы? без циклов и тп ? |
|||
44
MAPATNK2
naïve
20.02.17
✎
07:40
|
(41) Либо можно поподробнее об этом методе, может литература каккая, статейки. Что это вообще такое и как пользоваться? Может действительно подойдет для моего задания.
|
|||
45
Неверный Параметр И
20.02.17
✎
07:42
|
(42) И ножкой так - топ. "Мне наааадо". И незакрытые скобочки в конце
|
|||
46
DrZombi
гуру
20.02.17
✎
07:59
|
(42) Вы можете хотеть и на луну слетать. Но не судьба :)
|
|||
47
DrZombi
гуру
20.02.17
✎
08:01
|
(43) Используй Временные ТЗ. А так, я всегда думал главное результат, а не то, как оно написано :)
|
|||
48
DrZombi
гуру
20.02.17
✎
08:01
|
(44) Вы сайтик откройте, там нет вирусов. Я азбуке не учу, увы придется самому осилить чтиво :)
|
|||
49
MAPATNK2
naïve
20.02.17
✎
08:20
|
Всем спасибо, к сожалению никто толком не помог по вопросу. Разобрался сам.
|
|||
50
DrZombi
гуру
20.02.17
✎
08:39
|
(49) Покажи хоть нас, что бы мы тоже знали :DDD
|
|||
51
DrZombi
гуру
20.02.17
✎
08:40
|
(50) нас - Нам :)
|
|||
52
Мимохожий Однако
20.02.17
✎
08:43
|
(50) Это он отомстил. И чтобы отстали ))
|
|||
53
Неверный Параметр И
20.02.17
✎
08:44
|
(49) Что пинок-то животворящий делает!
Алилуя, братия, средство найдено! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |