|
умножить на два
|
|||
---|---|---|---|
#18+
Кто разбирается в SQL, может кто прокомментировать? С БД сейчас мало имею дела по работе. С прошлой работы попросили кое-что сделать с БД и программой учета, которую там писал. По ходу дела возник вопрос. Вот есть запрос, или два запроса. Код: SQL 1. 2. 3. 4. 5.
Теперь для каждой такой записи задаем поле priority = 1 Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9.
И IBExpert показывает, что изменено 864 записи, т.е. в 2 раза больше. Я предполагаю, что тут каждая запись как-то 2 раза посчитана. Результаты смотрел, вроде всё ок, как должно быть. ВОПРОС: Может быть такое, что во втором запросе именно, что просто 2 раза каждая запись учтена? Если да, то почему? Чтобы понятнее, в таблице elementtosupplier, вот такой: Код: SQL 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Изменено: 15.11.2023, 18:50 - s62
Нравится:
Не нравится:
|
|||
15.11.2023, 18:39 |
|
умножить на два
|
|||
---|---|---|---|
#18+
уникален ведь не ELEMENT_ID, а пара ELEMENT_ID, SUPPLIER_ID что-то все таки может быть не так с SUPPLIER_ID ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2023, 19:02 |
|
умножить на два
|
|||
---|---|---|---|
#18+
Код: SQL 1. 2. 3. 4. 5.
Зачем используется not exists? Проще переписать на Код: SQL 1. 2.
update можно написать гораздо проще, без всяких select Код: SQL 1. 2. 3. 4.
Код: SQL 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2023, 07:56 |
|
умножить на два
|
|||
---|---|---|---|
#18+
Код: SQL 1. 2. 3. 4. 5.
Зачем используется not exists? Проще переписать на Код: SQL 1. 2.
У каждого элемента, у которого есть несколько поставщиков, есть поставщики, которые не являются приоритетными. Твой запрос возвратит все такие записи, точнее - element_id из всех таких записей. А первый запрос возвратит записи для тех элементов, у которых ни один поставщик не указан приоритетным. (А должен бы хотя бы один.) ... |
|||
:
Изменено: 16.11.2023, 10:40 - s62
Нравится:
Не нравится:
|
|||
16.11.2023, 10:37 |
|
умножить на два
|
|||
---|---|---|---|
#18+
У каждого элемента, у которого есть несколько поставщиков, есть поставщики, которые не являются приоритетными. Твой запрос возвратит все такие записи, точнее - element_id из всех таких записей. А первый запрос возвратит записи для тех элементов, у которых ни один поставщик не указан приоритетным. (А должен бы хотя бы один.) Сорри. ... |
|||
:
Изменено: 16.11.2023, 12:35 - Горбатый ёж
Нравится:
Не нравится:
|
|||
16.11.2023, 12:35 |
|
|
start [/forum/topic.php?fid=32&msg=743536&tid=13862]: |
0ms |
get settings: |
17ms |
get forum list: |
6ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
1ms |
get page messages: |
439ms |
get tp. blocked users: |
2ms |
others: | 9ms |
total: | 523ms |
0 / 0 |