|
sql - запрос
|
|||
---|---|---|---|
#18+
Есть таблицы 1. Таблица справочник цен товаров goods id - ид поля cat_id - ид категории goods_id - ид товара date_update - дата обновления инфы о товаре cost - цена на товар 2. Таблица расчетов calc id - ид поля расчета name - наименование расчета 3. Таблица расчета товара calc_goods calc_id - ид расчета FK calc.id cat_id - ид категории goods_id - ид товара Необходимо вывести исходя из таблицы расчетов товаров calc_goods актуальные цена на товар для каждого id_calc (ид расчета). Товары могут быть с категорией или без категории, в зависимости от этого в справочнике цен товаров каждая строка определяется либо goods_id (без категории, cat_id = null), либо парой goods_id cat_id (если cat_id <> null). Делаю таким образом: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Можно ли как-то оптимизировать данный запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2020, 16:41 |
|
sql - запрос
|
|||
---|---|---|---|
#18+
Оптимизировать - в смысле, вас скорость выборки не устраивает, или что? Я, честно, не понимаю структуру из описания (что такое "расчёты товаров"). Навскидку - примените NVL вместо DECODE. И уточню, раз вы заменяете на ' ' - получается, айдишники строковые? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 18:04 |
|
|
start [/forum/topic.php?fid=52&fpage=45&tid=1881238]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 135ms |
0 / 0 |