|
Josh ↓
|
 |
|
24 Ноябрь, 2008, 01:55:11
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: нинзя Карма: 48
Сообщений: 1574 Сила слова: 3.05
|
Народ может кто-то стыкался: надо чтото вроде вот такого:
SELECT table1.*
, GROUP_CONCAT( (SELECT table2.name FROM table2 WHERE table2.table1_id=table1.id) SEPARATOR '; ' ) as all_names
FROM table1 join,join,where,limit,order
Конешно всё больше запущено, но суть остаёться та же, вобщем в GROUP_CONCAT надо пхнуть вложеный запрос
|
|
|
|
|
Записан
|
Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
|
|
|
|
Josh ↓
|
 |
|
24 Ноябрь, 2008, 01:59:42 , спустя 4 минуты 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: нинзя Карма: 48
Сообщений: 1574 Сила слова: 3.05
|
Смысл ещё в том, чтобы не джойнить table2, этим просто пытаюсь подоптимизировать запрос. Это вообще возможно сделать?
|
|
|
|
|
Записан
|
Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
|
|
|
|
phpdude ↓
|
 |
|
24 Ноябрь, 2008, 02:11:47 , спустя 12 минут 5 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
на каждую строку будет вызываться подзапрос - хуевый метод
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Josh ↓
|
 |
|
24 Ноябрь, 2008, 02:56:35 , спустя 44 минуты 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: нинзя Карма: 48
Сообщений: 1574 Сила слова: 3.05
|
Разобрался.
SELECT table1.*
, ( SELECT GROUP_CONCAT(table2.name)as some_name FROM table2 WHERE table2.table1_id=table1.id) as all_names
FROM table1 join,join,where,limit,order
Вобщем примерно чтото такого - заработало
|
|
|
|
|
Записан
|
Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
|
|
|
|
Josh ↓
|
 |
|
24 Ноябрь, 2008, 02:57:53 , спустя 1 минуту 18 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: нинзя Карма: 48
Сообщений: 1574 Сила слова: 3.05
|
на каждую строку будет вызываться подзапрос - хуевый метод
Вторая тамличка не большая, поэтому мухель её быстренько загонит в память, но а если не так то как? тогда получиться нало LEFT JOIN джелать а потом GROUP - не похоже на выход
|
|
|
|
|
Записан
|
Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
24 Ноябрь, 2008, 02:57:58 , спустя 5 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
Josh, быстрее?
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
Josh ↓
|
 |
|
24 Ноябрь, 2008, 04:23:32 , спустя 1 час 25 минут 34 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: нинзя Карма: 48
Сообщений: 1574 Сила слова: 3.05
|
Josh, быстрее?
Не поверишь да, чем LEFT JOIN ом - раз в 5 шустее забегал
|
|
|
|
|
Записан
|
Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
24 Ноябрь, 2008, 04:31:28 , спустя 7 минут 56 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
кулл
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
Josh ↓
|
 |
|
24 Ноябрь, 2008, 04:53:31 , спустя 22 минуты 3 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: нинзя Карма: 48
Сообщений: 1574 Сила слова: 3.05
|
кулл
Ну сам представь
TABLE 1
id | name
---------
1 | name1
2 | name2
3 | name3
4 | name4
TABLE 2
table1_id | table3_id
--------------------
1 | 1
1 | 2
1 | 4
2 | 2
3 | 3
3 | 1
3 | 4
TABLE 3
id | name
---------
1 | cat1
2 | cat2
3 | cat3
4 | cat4
В результате мне нужно получить
"name1" , "cat1 , cat2 , cat4"
"name2" , "cat2"
"name3" , "cat3 , cat1 , cat4"
"name4" , ""
Просто вариантов я не вижу: это всё заджойнить надо причём OUTEROM, плюс ко всему задистинктить, потому как это не один гемор!!! ещё есть оутеры, мне сильно много даты вернёться. Так что в этом случае, так как показала сегодняшняя практика я прав
|
|
|
|
|
Записан
|
Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
|
|
|
|