Здравствуйте, коллеги. Помогите, пожалуйста, разобраться с запросом. Есть запрос sql и при выполнении он зависает, и нагружает всю базу (приходится закрывать процесс). Проблема происходит при выводе поля . Просто соединив две таблицы запрос выполняется нормально, стоит добавить на вывод это поле - все зависает. Подскажите, пожалуйста, в чем ошибка?
sel ect
productProduct.default_code "Код номенклатуры",
promTable.def_code "Код комплектующего",
productProduct.desc_product_name "Номенклатура",
coalesce(round(productProduct.lst_price * 1.2, 3), 0) "Цена",
coalesce(promTable.value, 0) "Себестоимость комплектующего"
from
product_product productProduct
left join
product_template productTemplate
on
productTemplate.id = productProduct.product_tmpl_id
left join
product_category productCategory
on
productCategory.id = productTemplate.categ_id
left join
product_category prCategory
on
prCategory.id = productCategory.parent_id
--------комплектующие
left join(sel ect
prod.default_code "default_code",
prod.id "prod_id",
mbl.product_id "p_id",
product.default_code "def_code",
prop.prid "prid",
prop.value "value"
from
mrp_bom_line mbl
inner join
product_product pp
on
mbl.product_id = pp.id
inner join
mrp_bom mb
on
mb.id = mbl.bom_id
inner join
product_product prod
on
mb.product_id = prod.id
inner join
product_product product
on
mbl.product_id = product.id
left join
(select
to_number(split_part(ip.res_id, ',', 2), 'L9G999g999.99') "prid",
ip.value_float "value"
fr om
ir_property ip
inner join (select
to_number(split_part(ip.res_id, ',', 2), 'L9G999g999.99') "prod_id",
max(ip.write_date) "write_date"
fr om
ir_property ip
group by
to_number(split_part(ip.res_id, ',', 2), 'L9G999g999.99')) tempTable
on
ip.write_date = tempTable.write_date
and
to_number(split_part(ip.res_id, ',', 2), 'L9G999g999.99') = tempTable.prod_id) prop
on
mbl.product_id = prop.prid
) promTable
on
productProduct.id = promTable.prod_id
Показатьcoalesce(promTable.value, 0) "Себестоимость комплектующего"
По теме из базы знаний
- Быстрая загрузка данных из Excel в 1С 8.1 (8.2) с помощью SQL запроса
- Консоль SQL запросов на клиенте/сервере
- Переход с 1С:УПП на 1C:ERP. Переделываем интеграции, использующие SQL запросы к СУБД (на примере УПП -> QlikView -> ERP)
- Одно из возможных решений ошибки "Ошибка при выполнении запроса POST к ресурсу /e1cib/modules/call"
- Ошибка: Microsoft SQL Cannot create a row of size
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
попробовал две таблицы сделать, в одной цены товаров, в другой цены комплектующих, и соединение через айди товара, так же зависает. В общем если выводить только одно поле, то все ок (например цену товара или цену комплектующих), если выводить оба поля то зависает. Видимо проблема в разном количестве записей. Если делать без соединения со стоимостью комплектующих, то выводится 10790 строк, если сделать левое соединение то выводится 10320. Не очень понятно, куда исчезают 470 строк.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот