|
Помогите с выборкой
|
|||
---|---|---|---|
#18+
Всем доброго дня, и с наступившим. что то застрял, подскажите как елегантнее сделать такой подсчет. Есть две таблицы. order_model idid_orderid_modelcount_modelprice_model110015150 order_history idid_orderid_status_orderdate_1100102.01.20222100203.01.20223100303.01.20224100403.01.2022 необходимо следать Код: sql 1.
но только для заказов которые в нужную дату были в определенных статусах в таблице order_history . Например которые имели 3.01.2022 id_status_order 2 или 3. Вот здесь у меня заминка, если заказ был в одну и туже дату в двух статусах которые удовлетворяют условиям выборки, сумма считаеться ошибочно. Удваивается или утраивается в зависимости сколько записей попадает с таблицы order_history . Подскажите как сделать такой подсчет? заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2022, 14:39 |
|
Помогите с выборкой
|
|||
---|---|---|---|
#18+
Предварительно выборку группировать по дате внутри Derived Table. Или использовать EXISTS вместо JOIN. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2022, 14:54 |
|
Помогите с выборкой
|
|||
---|---|---|---|
#18+
Не видно тех попыток которые были сделаны. Или их не было? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2022, 18:16 |
|
Помогите с выборкой
|
|||
---|---|---|---|
#18+
Раз ключевым условием является присутствие заказа в истории, по определенным условиям, то нужно начать оттуда. Код: plsql 1. 2. 3. 4. 5.
но как ты сам заметил, тут может оказаться что один и тот же заказ был в одну и ту же дату в нескольких статусах, и id_order в результатах выборки будет повторяться. Избавиться от дублей можно, сделав например distinct или group by . Код: plsql 1. 2. 3. 4. 5.
Код: plsql 1. 2. 3. 4. 5. 6.
Ну а потом уже к этому присоединяешь сами заказы. Например через CTE (WITH .. AS). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2022, 18:26 |
|
|
start [/forum/topic.php?fid=40&fpage=2&tid=1559850]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 247ms |
total: | 380ms |
0 / 0 |