Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Базы данных > MySQL
Перезагрузить страницу Помогите с LEFT JOIN
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Leon Leon вне форума
Member
 
Сообщений: 262
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.10.2002
По умолчанию Помогите с LEFT JOIN - 23.04.2012, 07:19

Добро время суток. Излагаю проблему. Есть две таблицы
SQL Код:
tbl1
-----------------------
| id |  name          |
-----------------------
| 1  | Ivanov         |
| 2  | Sidorov        |
-----------------------
tbl2
-------------------
|   FROM  |  TO   |
-------------------
|      1    |  2    |
-------------------


Требуемый результат запроса
SQL Код:
-----------------------------------------
|   FROM  |  TO  | f_name  | to_name|
-----------------------------------------
|      1    |   2  | Ivanov   |Sidorov  |
-----------------------------------------

При использоватнии запроса
SQL Код:
SELECT tbl2.FROM,
           tbl2.TO,
           tbl1.name AS f_name,
           tbl1.name AS to_name
FROM tbl2 LEFT JOIN tbl1 ON tbl2.FROM = tbl1.id OR tbl2.TO = tbl1.id

Получаю:
SQL Код:
-----------------------------------------
|   FROM  |  TO  | f_name  | to_name|
-----------------------------------------
|      1    |   2  | Ivanov   |Ivanov   |
-----------------------------------------
|      1    |   2  | Sidorov  |Sidorov |
-----------------------------------------

Подскажите где затупил.Заранее всем спасибо
Ответить с цитированием
  (#2 (permalink)) Старый
T1grOK T1grOK вне форума
Member
 
Аватар для T1grOK
 
Сообщений: 762
Сказал(а) спасибо: 8
Поблагодарили 58 раз(а) в 57 сообщениях
Регистрация: 11.04.2009
По умолчанию 23.04.2012, 19:34

LEFT JOIN здесь не подходит(по крайней мере один).
Как вариант можно сделать так
SQL Код:
SELECT
(SELECT tbl1.`name` FROM tbl1 WHERE table1.`id`=tbl2.`from`) AS `f_name`,
(SELECT tbl1.`name` FROM tbl1 WHERE table1.`id`=tbl2.`to`) AS `to_name`
FROM tbl2
Ответить с цитированием
  (#3 (permalink)) Старый
Leon Leon вне форума
Member
 
Сообщений: 262
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.10.2002
По умолчанию 23.04.2012, 21:04

Да, спасибо, про вариант с вложеным запросами, я помнил, просто думал что может есть вариант изящнее. Но в любом случае спасибо за совет
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обновить игру Left 4 Dead через Steam? Sk1F Любые вопросы от новичков 2 14.02.2009 17:00
Определить преобладания ветвей в дереве (по принципу: left/right); andresss Prolog 13 15.12.2007 22:48
Thread.Join как убить процесс Drey^the^first .NET 4 24.11.2006 14:00
MySql сложный запрос с JOIN с сортировкой по предмету SELECT amixen MySQL 1 16.11.2006 16:51
Structure required on left said of. on .* sq-Weezee C++ Builder 2 03.02.2006 09:27
Размещение на форме компонента DBGrid и установка у него Anchors Top,Left,Button Д_м_и_трий C++ Builder 0 29.11.2005 10:22



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов