powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Объединение двух таблиц с одинаковыми колонками
4 сообщений из 4, страница 1 из 1
Объединение двух таблиц с одинаковыми колонками
    #39244255
pro_xaoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Помогите пожалуйста с запросом, полдня гуглю - решение не могу найти.
В общем, для наглядности есть две таблицы:

Таблица STREETS - названия улиц

Код: sql
1.
2.
3.
4.
id      name
4    Московский
7    Яблочная
10   Гагарина



Таблица USERS - пользователи с адресами, где цифры в адресах - id с таблицы названии улиц
Код: sql
1.
2.
3.
4.
5.
id       fio        street_from    street_to
1      Арсен         4                  10
2      Коля          7                   4
3      Петя          4                   7
4      Степан       10                  7



Суть проблемы: надо сделать запрос с JOINами, чтобы получилась следующая таблица
Код: sql
1.
2.
3.
4.
5.
id     fio        street_from    street_to   street_from_name       street_to_name
1      Арсен         4               10           Московский              Гагарина
2      Коля          7                4            Яблочная                 Московский
3      Петя          4                7            Московский              Яблочная
4      Степан       10               7            Гагарина                 Яблочная



Мой sql-код:
Код: sql
1.
2.
3.
4.
SELECT users.*, streets.name AS street_name 
       FROM users 
       LEFT JOIN streets 
            ON users.street_from = streets.id AND users.street_to = streets.id



Дело в том, что при в моем случае выбирается последняя street_to_name. Копая в разные JOIN-ы (INNER, RIGHT и т.д.) совсем запутался. Помогите пожалуйста
...
Рейтинг: 0 / 0
Объединение двух таблиц с одинаковыми колонками
    #39244258
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужны две копии таблицы streets:
Код: sql
1.
2.
3.
4.
SELECT u.*, s1.name street_from, s2.name street_to
FROM users s, users s1, users s2
WHERE u.street_from = s1.id
  AND u.street_to = s2.id
...
Рейтинг: 0 / 0
Объединение двух таблиц с одинаковыми колонками
    #39244491
pro_xaoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaНужны две копии таблицы streets:
Код: sql
1.
2.
3.
4.
SELECT u.*, s1.name street_from, s2.name street_to
FROM users s, users s1, users s2
WHERE u.street_from = s1.id
  AND u.street_to = s2.id



Спасибо, разобрался :)
...
Рейтинг: 0 / 0
Объединение двух таблиц с одинаковыми колонками
    #39244537
pro_xaoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но данный код не работает при пустой колонке одного из них. Поэтому переделал под JOIN, может для кого пригодится

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT `s`.*, `m1`.`name` `mkr_name0`, `m2`.`name` `mkr_name1`  
  FROM `school_passenger` AS `s` 
     LEFT JOIN `mkrs` AS `m1` 
         ON `s`.`mkr0`=`m1`.`id`
     LEFT JOIN `mkrs` AS `m2` 
         ON `s`.`mkr1`=`m2`.`id` 
  WHERE `s`.`basket`=0 
  ORDER BY `s`.`id` DESC
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Объединение двух таблиц с одинаковыми колонками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]