|
|
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Товарисчи! Возник вопрос: 1) Есть таблица юзеров users idname у каждого юзера есть айдишник и имя 2) Есть таблица задач issues idnameauthor_idassigned_to_id у которой есть айдишник, название, и ещё два поля - author_id - кто автор (ссылка на айдишник юзера) и assigned_to_id - на кого назначена (ссылка на айдишник юзера) предположим, мне надо вытащить в резудьтате запроса имя автора и исполнителя, правильно ли будет сделать такой запрос Код: plsql 1. 2. 3. 4. 5. 6. или делать два джоина это не правильно, и можно сделать как нибудь ещё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 11:11 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Большой Боб, ты сам вкурил, чё ты написал ? ... issues ... join issues ... join issues ты бросай курить бамбук. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 11:15 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Wilhelm Holtoff, каюсь, сам увидел как накосячил, но нет возможности отредактировать своё сообщение :) ладно, скопипащу свой запрос ) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 11:21 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Большой Боб, Вощем, слухай сюда, Бобби Ничё плохого нету в том, чтобы два раза соединиться с табличкой users. Это - нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 11:32 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Большой Боб, а погчему ви спгашиваити ? PS в нормальном общем случае -- добавьте LEFT к джойнам на nullable справочники (или если не пользуетесь ФК, закладываясь на выверенность логики приложения) -- оно не помешает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 11:35 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Wilhelm Holtoff, А если мне в одной табличке надо будет 20 айдишников юзеров хранить? Это что получается, 20 раз придётся сделать джоин?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:06 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Большой БобWilhelm Holtoff, А если мне в одной табличке надо будет 20 айдишников юзеров хранить? Это что получается, 20 раз придётся сделать джоин?) если 20 - сделаешь линковочную таблицу, аля М-М. там будет 20 записей с двумя ссылками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:08 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Ivan Durak, это да, чего то я ответил не подумав) p.s. а все таки можно вытащить имена автора и исполнителя из запроса в начале темы без двойного джоина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:14 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Ivan Durak, есть хардкорный special PG--вориант: ids == ARRAY[id] c Код: sql 1. шутка. хотя и в вашем случае не хватает роли. в кросс табличке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:16 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Большой Боббез двойного джоинаlateral на pivot ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:20 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Большой БобIvan Durak, это да, чего то я ответил не подумав) p.s. а все таки можно вытащить имена автора и исполнителя из запроса в начале темы без двойного джоина? можно но ненужно :) 2 подзапроса вместо join --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:20 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
авторlateral на pivot это что? я такое ещё не курил даже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:21 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Большой Бобавторlateral на pivot это что? я такое ещё не курил дажеlateral найдешь в доке, а пивот эмулируется max/min filter Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:27 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
Большой БобIvan Durak, это да, чего то я ответил не подумав) p.s. а все таки можно вытащить имена автора и исполнителя из запроса в начале темы без двойного джоина? как бы это помягшее. декларация отличается от инструкции. чем-то, эээээ т.е. длина декларации, как предложения вас не должна волновать. Должна волновать её внятность. а с т.з инструкций -- вам именно 20 раз искать надо -- т.ч. нивапрос. напишите STABLE sql ф-ю, реализующую коррелят -- будет примерно то же в смысле планов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:29 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
где эта барышня, где эта барышняlateral найдешь в доке, а пивот эмулируется max/min filter для pivot функционала в postgres есть расширение: CREATE EXTENSION tablefunc; ссылка на RTFM http://www.postgresql.org/docs/9.4/static/tablefunc.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 13:19 |
|
||
|
Снова про JOIN
|
|||
|---|---|---|---|
|
#18+
grufosдля pivot функционала в postgres есть расширениеПоделку через текстуализацию sql, если бы не известность автора, приняли бы за студенческую лабораторную работу и в дистрибутив не включили. Впрочем, postgresql и без этого хромой на позднее связывание в погоне за чужими фичами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 13:42 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38918842&tid=1998086]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 267ms |
| total: | 510ms |

| 0 / 0 |
