|
Совсем запутался с джоинами
|
|||
---|---|---|---|
#18+
Вот, совсем не пойму что творится. Короче, есть 3 таблицы, одна главная (main): ------ main: 1 2 3 4 5 ------ one 1 2 3 ------ two 1 4 5 Задача в том, что бы показывались все 5 ROWs из главной таблицы, а к ним были присоединены 2 другие таблицы соответсвенно. Просто с FROM main, one, two со всеми тремя таблицами конечно не идёт (с 2мя бы шло), т.к. все JOINs разные (ок, все кроме номера "1"). Казалось бы что проблема должна решится с LEFT JOIN, но ентот гад тогда покажет те строчки которые во всех трёх таблицах имеются дважды (тут: номер "1"). SELECT * FROM main LEFT JOIN one ON one.id=main.id LEFT JOIN two ON two.id=main.id И вот даже DISCTINCT тут не помогает... :-/ Что делать? :-( Надеюсь объяснил более-менее понятно, заранее благодарен за ответы ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2002, 14:24 |
|
Совсем запутался с джоинами
|
|||
---|---|---|---|
#18+
SELECT main.id, one.id, two.id FROM (main LEFT JOIN one ON main.id = one.id) LEFT JOIN two ON main.id = two.id; Результат main.id one.id two.id 1 1 1 2 2 3 3 4 4 5 5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2002, 14:49 |
|
|
start [/forum/moderation_log.php?user_name=importrec]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 444ms |
total: | 595ms |
0 / 0 |