Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.02.2020, 13:25
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
Добрый день. Прошу помочь сделать выборку из таблицы, в результате которой будет информация про отсутствующие данные: Есть список номеров документов: '20342174','20341700','20341113','20340870','20342024' Необходимо сделать запрос в таблицу и вывести информацию про эти номера, только если такой документ отсутствует - выводить информацию в запросе что такой отсутствует Например, если в таблице есть документы только с номерами '20342174','20341700' - то обычный запрос select num, addr from tbl_docs where num in ('20342174','20341700','20341113','20340870','20342024') вернет результат: 20342174 Пушкина 54/3 20341700 Лермонтова 12 а мне надо, чтоб запрос вернул результат: 20342174 Пушкина 54/3 20341700 Лермонтова 12 20341113 20340870 20342024 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 13:27
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
Временная таблица + левый джоин. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 13:28
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
not in () not exists () left join ... on смотря что именно надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 14:08
|
|||
---|---|---|---|
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 14:14
|
|||
---|---|---|---|
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
Dimitry Sibiryakov, номера документов есть в какой-то справочной таблице, не из воздуха же они. Тогда никаких временных, просто documents left join info on... where documents.num in ... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 14:33
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
Номера мне присылают в XLS и даже в скринах. left join tbl_docs не подходит, т.к. таких номеров в таблице нет. Временная таблица - можно, но думал может как-то проще можно? может массив строк... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 14:38
|
|||
---|---|---|---|
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
ARTEM_ZPC left join tbl_docs не подходит, т.к. таких номеров в таблице нет. Что сие значит? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 14:40
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
временную таблицу всё равно заполнить сначала надо, а если количество номеров >1000 ? если бы еще в IBExpert можно было вставить строки (CNTRL+V) в столбец таблицы из XLS столбца, а так insert что ли писать 1000 раз или експорт делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 14:43
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
ёёёёё, ну если нет некоторых номеров в таблице tbl_docs, чем мне поможет left join? Например: select t.num, t.addr from tbl_docs t left join tbl_docs t2 on t2.id=t.id where t2.num in ('20342174', '20341700','20341113','20340870','20342024') ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 15:02
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
ARTEM_ZPCа если количество номеров >1000 ? Значит остаётся выбор: использовать пальцы или мозг. Простенькая формула сделает из эксель-столбца скрипт вставки. Простенький скрипт на VBA - сразу вставит их в базу и получит результат. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 15:11
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
Dimitry Sibiryakov, Я понял, Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.02.2020, 17:43
|
|||
---|---|---|---|
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
ARTEM_ZPC ёёёёё, ну если нет некоторых номеров в таблице tbl_docs, чем мне поможет left join? Например: select t.num, t.addr from tbl_docs t left join tbl_docs t2 on t2.id=t.id where t2.num in ('20342174', '20341700','20341113','20340870','20342024') Я разве это написал? ёёёёё ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2020, 04:39
|
|||
---|---|---|---|
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
ARTEM_ZPC временную таблицу всё равно заполнить сначала надо, а если количество номеров >1000 ? если бы еще в IBExpert можно было вставить строки (CNTRL+V) в столбец таблицы из XLS столбца, а так insert что ли писать 1000 раз или експорт делать? Вот как раз когда количество номеров большое - тогда применение временной таблицы становится все более интересным. Делаешь в базе временную таблицу. Делаешь НА КЛИЕНТЕ процедурку: delete from temp; for список номеров do insert into temp И потом уже делаешь запрос с left join. Несмотря на кажущееся обилие "лишних" операций, работает на удивление быстро. Я у себя это дело применяю, и использование временной таблицы обычно ускоряет общее время выполнения и сильно улучшает прозрачность кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2020, 13:19
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
fraks, Разве процедура с delete-insert будет быстрее чем процедура, которая из строки с разделителями выдает список ID как написано здесь? ёёёёё 2. Если уж так хочется таблицу, по почему не временную? Вместо delete (что может вызвать deadlock) вставлять во временную таблицу с дополнительным полем "ID сессии" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2020, 13:30
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
19.02.2020 13:19, Шавлюк Евгений пишет: > Вместо delete (что может вызвать deadlock) вставлять во временную таблицу с дополнительным полем "ID сессии" данные во временной таблице видны только в рамках "сессии". другие "сессии" видят только то, что напихали сами. не надо дуть на воду. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2020, 13:52
|
|||
---|---|---|---|
|
|||
Выборка из таблицы данных, в результате которой будет информация про отсутствующие данные |
|||
#18+
Мимопроходящий, Да, я решил что таблица в предложении fraks настоящая. Не временная ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1560438]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
123ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 477ms |
0 / 0 |