Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
16 / 4 / 4
Регистрация: 19.09.2012
Сообщений: 107

Соединение таблиц, JOIN

14.02.2018, 03:24. Показов 1340. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как в одной таблице 2 столбца соединить с другой? т.е.
есть 2 таблицы
user - структура id, name
task - структура id, user_id, assigned_user_id, description
в полях user_id и assigned_user_id - это id от user
Знаю как соединить одно поле
SQL
1
2
3
SELECT task.description, task.user_id, USER.name 
FROM task
JOIN USER ON USER.id=task.user_id
а как еще в запросе соединить user.id=assigned_user_id и вывести, чтоб посмотреть?
Учусь только(
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.02.2018, 03:24
Ответы с готовыми решениями:

JOIN из 3-х таблиц
Доброго времени суток уважаемые форумчане!!! У меня к вам есть вопрос, за помощь буду очень благодарен!!! Имеется в наличии 3 таблицы: ...

Присоединение 2-х таблиц (join)
Есть такие таблицы: kind - таблица обозначающая вид компании id name Company - таблица компаний (имя и вид компании) id ...

LEFT JOIN нескольких таблиц
Глупый вопрос, но бьюсь уже не один час... Есть две таблички: Income(code, point, date, inc) Outcome(code, point, date, out) Хочу...

2
476 / 239 / 114
Регистрация: 12.05.2016
Сообщений: 647
14.02.2018, 07:58
Лучший ответ Сообщение было отмечено S_kepti_k как решение

Решение

Заджойнить таблицу user два раза:

SQL
1
2
3
4
SELECT t.description, t.user_id, u1.name user_name,  t.assigned_user_id, u2.name assigned_name
FROM task t
JOIN USER u1 ON  u1.id=t.user_id
JOIN USER u2 ON  u2.id=t.assigned_user_id
Но, если поля в таблице task могут быть пустыми, то лучше использовать внешнее соединение:
SQL
1
2
3
4
SELECT t.description, t.user_id, u1.name user_name,  t.assigned_user_id, u2.name assigned_name
FROM task t
LEFT JOIN USER u1 ON  u1.id=t.user_id
LEFT JOIN USER u2 ON  u2.id=t.assigned_user_id
в таком случае вы получите все записи из task даже если у них не заполнены поля user_id или assigned_user_id
1
16 / 4 / 4
Регистрация: 19.09.2012
Сообщений: 107
14.02.2018, 09:52  [ТС]
Anvano
Понял, спасибо. Попробую вечером, а то я пробовал вот так
PHP
1
2
3
4
SELECT t.description, t.user_id, u1.name user_name,  t.assigned_user_id, u2.name assigned_name
FROM task t
JOIN USER ON  USER.id=t.user_id
JOIN USER ON  USER.id=t.assigned_user_id
SQL ругался типо чето user уже соединен, смотрите синтаксис
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.02.2018, 09:52
Помогаю со студенческими работами здесь

JOIN, выборки из нескольких таблиц
У меня собственно два вопроса. Вопрос 1. Есть некая основная таблица с данными(t1) и несколько побочных(t2,t3). Основная содержит...

JOIN из таблиц с одинаковыми названиями колонок
Приветствую всех. Есть четыре таблицы: "sales", "computers", "clients" и "workers". В таблице "sales" содерится общая...

Связка нескольких таблиц + использование left join
Здравствуйте! не могу правильно составить запрос к базе данных...необходима подсказка небольшая. у меня есть большая таблица с...

Соединение таблиц
Здравствуйте! Детский вопрос, но все же: есть ли принципиальное отличие между left join и right join? Насколько я понимаю можно одно...

Соединение таблиц
две таблицы: Income(code, point, date, inc) и Outcome(code, point, date, out). при полном соединении через select income.code,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip . . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru