|
|
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
Есть 2 таблицы, пользователи и список их операций. запрос должен выполняться N-ое кол-во раз, меняется только дата. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Нужно получить список ВСЕХ пользователей и кол-во операций за определенный день. Запрос такой: Код: sql 1. 2. 3. 4. 5. В принципе, все работает. Но проблема в том что запросы формируются не через SQL, а через подобие ORM, а там я могу менять только условия во WHERE, все условия в JOIN задаются во время создания объекта и дальше не меняются. Каким то образом нужно перенести Код: plaintext Если делаю так: Код: sql 1. 2. 3. 4. 5. тогда пользователи у которых нет соответствующих записей в operations не войдут в результат, а нужно чтоб они были с нулем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 08:29:33 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
Folibis, and (t2.date_record::date='06.05.2014'::date or t2.date_record is null) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 09:43:10 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
Oh, shit! Просто и гениально, стоило посмотреть результат без GROUP BY. Спасибо, @drsm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 13:57:58 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
Хотя я сейчас попробовал, не получается. по условию Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2014, 01:46:39 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
FolibisХотя я сейчас попробовал, не получается. .. и это хорошо потому что "просто и гениально" -- выбросить ср@ное овно, именуемое ормом а тем паче - подобием было бы правильным поймать автора орма, и , оторвав выпуклости, забить их во впуклости но ,какабычна, "йузер орма" стоит ниже в иерархии говнокодеров, чем аффтыр ср@ного орма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2014, 08:05:00 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
FolibisХотя я сейчас попробовал, не получается. по условию Код: plaintext если вам очень хочется сделать костыль то: Код: plsql 1. 2. 3. 4. или Код: plsql 1. 2. 3. PS: оба варианта будут плохие если таблица operations большая... но при правильных индексах второй вариант всетаки получше... --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2014, 11:41:13 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
какабычнабыло бы правильным поймать автора орма, и , оторвав выпуклости, забить их во впуклости Тсс ... потише брат, так точно ничего не решить )) Выбросить не получится, на этом построено все приложение. Ну, можно конечно, но .... И хотелось бы услышать мнение автора на вопрос - "Что использовать, если использовать SQL напрямую нельзя?" Логика приложения на скриптах и QRM нужен именно для этого - как для безопасности. так и для удобства не совсем программистов. Maxim Boguk оба варианта будут плохие если таблица operations большая... но при правильных индексах второй вариант всетаки получше. Тоже думал над такими вариантами, оставлю их как последний вариант. Пока решил, все таки, дописать функционал ORM движка. Всем спасибо за советы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 01:58:16 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
Folibisкакабычнабыло бы правильным поймать автора орма, и , оторвав выпуклости, забить их во впуклости Тсс ... потише брат, так точно ничего не решить )) Выбросить не получится, на этом построено все приложение. Ну, можно конечно, но .... И хотелось бы услышать мнение автора на вопрос - "Что использовать, если использовать SQL напрямую нельзя?" Логика приложения на скриптах и QRM нужен именно для этого - как для безопасности. так и для удобства не совсем программистов. Каша какая-то. ORM это в принципе неработающая концепция. И никакой связи с безопасностью или удобством там нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 22:30:30 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
Мдя... а вот бы учить SQL было бы совсем круто :) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2014, 13:59:40 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, толковых ORM не бывает - вам везде придётся использовать онлайн код. (Если вам не пришлось его использовать значит вам не нужна RDBMS вообще.) Так зачем себя мучить? Пишите просто код-прокладку. Вот, по теме: http://www.sql.ru/forum/1062870/nuzhen-nekiy-proksi-ne-vstrechali ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2014, 00:32:20 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
> онлайн код. инлайн-код, конечно же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2014, 09:52:21 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
На счет инлайн-кода. В принципе, у меня такая возможность есть, но отключена. Чтоб какой нибудь умник не "пошутил" на 1-ое апреля, что то типа "А вставь как там DROP DATABASE и все станет работать в 2 раза быстрее" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 08:11:55 |
|
||
|
Трудности составления запроса через ORM
|
|||
|---|---|---|---|
|
#18+
FolibisНа счет инлайн-кода. В принципе, у меня такая возможность есть, но отключена. Чтоб какой нибудь умник не "пошутил" на 1-ое апреля, что то типа "А вставь как там DROP DATABASE и все станет работать в 2 раза быстрее" Такие вещи куда более надежно прикрывать правами: а именно у веб пользователя (и вообще пользователей из под которых ходят приложения) не должно быть прав на alter/create/drop/truncate/etc (и кстати даже на DELETE из тех таблиц workflow которых этого самого DELETE не предусматривает). А то последнее время модно веб сайт на базу пускать из под superuser (а потом удивлятся указанным вами проблемам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 09:35:09 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38668926&tid=1998627]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
183ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 459ms |

| 0 / 0 |
