|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
У меня есть две таблицы:
Пример master id f11 12 2 detail id mater_id f21 1 12 1 13 2 13 2 2 выборка всех записей id f1 f21 1 12 2 -1 условие f2=1 id f1 f21 1 12 2 -1 условие f2=2 id f1 f22 2 -1(здесь первый мастер отфильтровался, а во втором, несмотря на то, мы отфильтровали одну деталь, все равно выводим f2 = -1) Как бы это красивее сделать? Допускается использование процедур, функций... P.S. на записи мастера тоже могут накладываться ограничения С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 18:20 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Чего это ты начал лабораторные делать?.. _Vasilisk_если для данного мастера у всех деталей поле f2 имеет одинаковое значение, то вернуть это значение Код: sql 1.
_Vasilisk_на выборку может налагаться ограничения на значения поля f2. И если ни одна деталь не имеет такого значения, то и сам мастер не выводится. Код: sql 1.
_Vasilisk_на записи мастера тоже могут накладываться ограничения Код: sql 1.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 18:31 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Код: sql 1.
Dimitry Sibiryakov Код: sql 1.
Два раза делать join? Один фильтрованный, второй нет? Деталей всего 5 штук. В каждой до 4 таких агрегируемых полей ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 18:52 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
_Vasilisk_А нужно искать отличия по всем. Тогда условие в having вместо join. Или derived table. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 19:02 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, и опять таки join мне размножит записи в мастере. Добавлять GROUP BY по всем полям мастера? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 19:24 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Если запрос сложный - то, возможно, лучше один раз написать EB-блок, который будет скрупулёзно проходить и проверять все условия, делать все расчёты и т.д. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 19:29 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
_Vasilisk_Добавлять GROUP BY по всем полям мастера? Да. Или оборачивать деталь в ДТ с группировкой и блэкджеком. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 20:03 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Почему банальный встроенный select не? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 22:13 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам EB-блок ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 17:20 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
_Vasilisk_, авторEXECUTE BLOCK? Так а чем он лучше обычной процедуры? EB - выполняется на стороне клиента. И не зачем плодить мульон ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 18:06 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
AltHaspEB - выполняется на стороне клиента. чушь. EB выполняется на сервере конечно. Разница между EB и ХП в том, что EB не хранится на сервере, и что текст EB можно формировать на лету с клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 18:24 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
_Vasilisk_> Так а чем он лучше обычной процедуры? В данном случае его надо сравнивать не с ХП, а с запросом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 18:36 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
AltHasp И не зачем плодить мульон ХП. Симонов Денис EB можно формировать на лету с клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 19:33 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Код: sql 1.
Код: sql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2020, 19:16 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
case f2 is distinct ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 08:51 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам case f2 is distinct ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 15:13 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
На SO советуют так Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 15:30 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
_Vasilisk_ А как быть с NULL? Это ты скажи. Оно как отдельное уникальное значение считается или как? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2020, 12:47 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
WildSery Оно как отдельное уникальное значение считается или как? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2020, 19:23 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
Здесь 2 запроса будет, а join или вложенный уже по ситуации. Первый с группировкой должен посчитать f2. Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2020, 11:20 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
WildSery Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2020, 17:12 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
_Vasilisk_ Если все значения NULL, то работать не будет Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2020, 17:57 |
|
Выборка с группировкой
|
|||
---|---|---|---|
#18+
WildSery Да, действительно. Код: sql 1.
_Vasilisk_ На SO советуют так Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2020, 19:22 |
|
|
start [/forum/topic.php?fid=40&msg=39949582&tid=1560365]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
127ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 248ms |
total: | 488ms |
0 / 0 |