powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите в выборкой из двух таблиц
12 сообщений из 12, страница 1 из 1
Помогите в выборкой из двух таблиц
    #39344506
Luck18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Помогите пожалуйста решить задачу, с которой уже пол дня бьюсь. Не хватает знаний.
Есть две таблицы (не знаю, как наглядно изобразить, постараюсь максимально подробно описать):
Поля в первой и их значения
id name genre1 genre2 genre3
1 A 2 3 1
2 B 3 1 4
3 C 5 4 1
---
Во второй:
id genre
1 va
2 sa
3 da
4 ha
5 pa

Запрос вида:
Код: sql
1.
SELECT g.*, j.* FROM games g INNER JOIN genres j ON j.id = g.genre1


выводит только одно дополнительное поле с нужным значением.
Но как получить все ТРИ значения одновременно в один массив со всеми данными?
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344598
Luck18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли какой-то способ получить данные всех полей первой таблицы, но чтобы в полях genre1 genre2 genre3 сразу были значения из таблицы второй, а не id этих значений?
Очень надо! хотя бы подскажите в какую сторону копать :)
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344600
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luck18,

приджойнить таблицу трижды. Есть фокус в том, чтобы раздать алиасы таблицам.
Код: sql
1.
2.
3.
4.
5.
SELECT g.id, g.name, j1.genre, g2.genre, j3.genre 
FROM games g 
    INNER JOIN genres j1 ON j1.id = g.genre1
    INNER JOIN genres j2 ON j2.id = g.genre2
    INNER JOIN genres j3 ON j3.id = g.genre3
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344897
Luck18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, это почему-то не сработало...
На запрос
Код: sql
1.
2.
3.
4.
5.
SELECT g.id, g.name, g.genre1, g.genre2, g.genre3, j1.genre, j2.genre, j3.genre 
            FROM games g 
                          INNER JOIN genres j1 ON j1.id = g.genre1
                          INNER JOIN genres j2 ON j2.id = g.genre2
                          INNER JOIN genres j3 ON j3.id = g.genre3


Получаю такой массив:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
array(1) {
  [0]=>
  array(6) {
    ["id"]=>
    string(3) "140"
    ["name"]=>
    string(13) "Some Name"
    ["genre1"]=>
    string(1) "1"
    ["genre2"]=>
    string(1) "2"
    ["genre3"]=>
    string(1) "3"
    ["genre"]=>
    string(6) "Horror"
  }
}


Тоже самое я получал с использованием одного INNER JOIN. Нужно вывести все три жанра в массиве одновременно.
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344902
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luck18На запрос
Код: sql
1.
2.
3.
4.
5.
SELECT g.id, g.name, g.genre1, g.genre2, g.genre3, j1.genre, j2.genre, j3.genre 
            FROM games g 
                          INNER JOIN genres j1 ON j1.id = g.genre1
                          INNER JOIN genres j2 ON j2.id = g.genre2
                          INNER JOIN genres j3 ON j3.id = g.genre3

Выделенное - назачем?
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344904
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luck18Получаю такой массив:Это видимо библиотека доступа рукожопая, и не умеет правильно отобразить три одноимённых поля. Задай полям выходного набора уникальные имена.
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344905
Luck18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Чисто для примера, чтобы было видно, что в массив приходит, поля и их значения.
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344910
Luck18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaLuck18Получаю такой массив:Это видимо библиотека доступа рукожопая, и не умеет правильно отобразить три одноимённых поля. Задай полям выходного набора уникальные имена.
Звучит как мантра на инопланетном языке :) Нужна помощь ))
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344913
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT g.id, g.name, j1.genre AS genre1, j2.genre AS genre2, j3.genre AS genre3 
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344919
Luck18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Код: sql
1.
SELECT g.id, g.name, j1.genre AS genre1, j2.genre AS genre2, j3.genre AS genre3 


О! Сработало! Спасибо, Боги SQL ))
Жаль, только я в принцип работы этой выборки не въеду никак. Самое фиговое, когда используешь шаблон, но не понимаешь, как он работает.
Почему в этом случае сработало, а в предыдущем нет?
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344944
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luck18Почему в этом случае сработало, а в предыдущем нет?Потому что в предыдущем все три поля потащили за собой имя genre. Попробуй вставить в коллекцию три разные записи с совпадающим ключом - что будет? правильно, первая вставится, остальные пойдут в пень, или наоборот, каждая следующая будет херить предыдущую и вставать вместо неё. В любом разе из трёх получишь только одну - что ты и наблюдал, а гнида либа доступа тебе даже не сообщила, что были какие-то траблы.
...
Рейтинг: 0 / 0
Помогите в выборкой из двух таблиц
    #39344988
Luck18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, больше спасибо!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите в выборкой из двух таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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