|
v8: Запрос: получить не совпадающие наименования | ☑ | ||
---|---|---|---|---|
0
Fedor
19.10.11
✎
17:16
|
Есть 2 справочника - ОС и Номенклатура. У некоторых элементов справочников наименования совпадают. Нужно из ОС выбрать только те, у которых наименования не совпадают.
Я сначала получаю все элементы, у которых наименования совпадают. И сохраняю в временную табл (ВТ). А потом пытаюсь получить из ОС все элементы, у которых наименования не совпадают с наименованиями в ВТ. Но процесс при этом зависает. |
|||
1
CTmuB
19.10.11
✎
17:18
|
запрос неправильно написан )
|
|||
2
Vovka_Jetta
19.10.11
✎
17:18
|
||||
3
Vovka_Jetta
19.10.11
✎
17:18
|
Это не поможет?
|
|||
4
Жан Пердежон
19.10.11
✎
17:20
|
хз что с чем у тебя совпадать/не совпадать должно, телепатирую:
выбрать ос.ссылка из ос левое соединение ном по ос.наименование = ном.наименование где ном.ссылка is null |
|||
5
andrewks
19.10.11
✎
17:20
|
погоди-погоди, что именно надо получить:
нужно выбрать из ОС такие эл-ты, наименования которых не встречаются среди наименований спр. номенклатуры? так, что-ли? |
|||
6
SeregaMW
19.10.11
✎
17:21
|
Код в студию!
|
|||
7
Fedor
19.10.11
✎
17:21
|
ВЫБРАТЬ
ОсновныеСредства.Наименование КАК ОС, Номенклатура.Наименование КАК Номенклатура ПОМЕСТИТЬ ВТ_ЕстьНаим ИЗ Справочник.ОсновныеСредства КАК ОсновныеСредства ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ПО ОсновныеСредства.Наименование = Номенклатура.Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ОсновныеСредства.Наименование ИЗ Справочник.ОсновныеСредства КАК ОсновныеСредства ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ЕстьНаим КАК ВТ_ЕстьНаим ПО ОсновныеСредства.Наименование = ВТ_ЕстьНаим.ОС |
|||
8
Жан Пердежон
19.10.11
✎
17:22
|
(5) (6) с кодом и детальным описанием проблемы любой ответить сможет)
|
|||
9
andrewks
19.10.11
✎
17:25
|
жертва конструктора запросов?
|
|||
10
Fedor
19.10.11
✎
17:26
|
(7) опечатка там. Соединение такое:
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ЕстьНаим КАК ВТ_ЕстьНаим ПО ОсновныеСредства.Наименование <> ВТ_ЕстьНаим.ОС |
|||
11
SeregaMW
19.10.11
✎
17:28
|
(10) Спасибо помог нам ответить на твой вопрос )))
|
|||
12
izekia
19.10.11
✎
17:28
|
жесть какая-то , а зачем второй запрос?
|
|||
13
andrewks
19.10.11
✎
17:29
|
(12) ты ещё спроси, зачем ВТ
|
|||
14
izekia
19.10.11
✎
17:29
|
хотя рекомендации 1с
|
|||
15
Fedor
19.10.11
✎
17:29
|
(12) Ну, я делал одним запросом, но результат тот же
|
|||
16
izekia
19.10.11
✎
17:30
|
а зачем вт действительно?
|
|||
17
Fedor
19.10.11
✎
17:31
|
(16) Сначала так делал:
ВЫБРАТЬ ОсновныеСредства.Наименование ИЗ Справочник.ОсновныеСредства КАК ОсновныеСредства ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ПО ОсновныеСредства.Наименование <> Номенклатура.Наименование Но результат тот же - зависает. |
|||
18
izekia
19.10.11
✎
17:33
|
(17) нееее, так не надо делать
|
|||
19
izekia
19.10.11
✎
17:33
|
(17) оно не зависает, просто на ночь оставь
|
|||
20
izekia
19.10.11
✎
17:34
|
выбрать наименование из ос где не наименование не в(выбрать наименование из номенклатуры)
так доступно? |
|||
21
izekia
19.10.11
✎
17:35
|
(19) + к утру будет результат, если клиент или сервер не сдохнет
|
|||
22
Fedor
19.10.11
✎
17:35
|
Да. Понял. Сейчас попробую, спасибо.
|
|||
23
izekia
19.10.11
✎
17:35
|
ответ в (20) короче
|
|||
24
Fedor
19.10.11
✎
17:35
|
(19)Ну да. я понял, что там много вариантов, и он их все перебирает. Но раз их так много, значит это не правильно...
|
|||
25
izekia
19.10.11
✎
17:37
|
(24) нет, он декартово тебе выкидывает, кроме тех у которых наименование совпадает
|
|||
26
НЕА123
19.10.11
✎
17:37
|
плагиат (4)
ВЫБРАТЬ ОсновныеСредства.Наименование ИЗ Справочник.ОсновныеСредства КАК ОсновныеСредства ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ПО ОсновныеСредства.Наименование = Номенклатура.Наименование ГДЕ Номенклатура.ссылка is null |
|||
27
izekia
19.10.11
✎
17:39
|
(26) не надо нам таких запросов
|
|||
28
Жан Пердежон
19.10.11
✎
17:45
|
(23) как оказалось, ответ был еще в (4)
|
|||
29
Fedor
19.10.11
✎
17:47
|
(20) Пока так не выходит. Не дает выбрать из номенклатуры.
|
|||
30
izekia
19.10.11
✎
17:50
|
(29) в смысле не дает?
(28) логика у твоего запроса немного извращенная, на мой взгляд) |
|||
31
НЕА123
19.10.11
✎
17:54
|
(30)
>логика у твоего запроса немного извращенная, на мой взгляд) однако, на практике, рекомендуют именно (4), а не (20). |
|||
32
izekia
19.10.11
✎
17:57
|
сиквела под рукой нет доступного, посмотри план запроса примерный?
|
|||
33
SMakcik
19.10.11
✎
18:01
|
А кто так мешает:
ВЫБРАТЬ ОС.Наименование ИЗ Справочник.ОсновныеСредства КАК ОС ГДЕ ОС.Наименование НЕ (ВЫБРАТЬ .... ) |
|||
34
Fedor
19.10.11
✎
18:01
|
Написал Так:
ВЫБРАТЬ ОсновныеСредства.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура, Справочник.ОсновныеСредства КАК ОсновныеСредства ГДЕ (НЕ ОсновныеСредства.Наименование В (ВЫБРАТЬ Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура)) Но немного не то выходит |
|||
35
Fedor
19.10.11
✎
18:01
|
Или я что-то не правильно делаю?
|
|||
36
Fedor
19.10.11
✎
18:03
|
А это работает правильно:
ВЫБРАТЬ ОсновныеСредства.Наименование ИЗ Справочник.ОсновныеСредства КАК ОсновныеСредства ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ПО ОсновныеСредства.Наименование = Номенклатура.Наименование ГДЕ Номенклатура.ссылка is null |
|||
37
НЕА123
19.10.11
✎
18:03
|
ВЫБРАТЬ
ОсновныеСредства.Наименование ИЗ Справочник.ОсновныеСредства КАК ОсновныеСредства ГДЕ (НЕ ОсновныеСредства.Наименование В (ВЫБРАТЬ Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура)) |
|||
38
izekia
19.10.11
✎
18:03
|
ВЫБРАТЬ
ОсновныеСредства.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура, <===== эту строку удали, блин Справочник.ОсновныеСредства КАК ОсновныеСредства ГДЕ (НЕ ОсновныеСредства.Наименование В (ВЫБРАТЬ Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура)) |
|||
39
Fedor
19.10.11
✎
18:04
|
(38) Спасибо. (Сори, сглупил) Так работает правильно.
ВЫБРАТЬ ОсновныеСредства.Наименование ИЗ Справочник.ОсновныеСредства КАК ОсновныеСредства ГДЕ (НЕ ОсновныеСредства.Наименование В (ВЫБРАТЬ Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура) |
|||
40
НЕА123
19.10.11
✎
18:05
|
(32)
тоже нет. по-крайней мере в файловой утверждают, что долго лишнее ВЫБРАТЬ отрабатывает. |
|||
41
izekia
20.10.11
✎
15:01
|
(40) вчера торопился, по сути это одинаковые планы будут, если я ничего не путаю
просто мой вариант мне больше нравится, в плане наглядности надо дома на буке посмотреть |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |