Я нахожусь в точке, где мне нужно научиться использовать более сложные функции SQL, если я хотел бы продвинуть свою карьеру. Признаюсь, я не знаю, что такое соединение или как их использовать. Я начинаю читать запросы с помощью объединений, и мой мозг просто превращается в месиво, но я столкнулся с ситуацией, когда я мог бы выиграть от использования соединения, но я не знаю, возможно ли то, что я хочу сделать.Обучение использованию расширенных функций SQL
рассмотрит следующие таблицы:
пользователя
id | user_name | location_id
===============================
1 | r3wt | 316
расположения
id | state | city
=========================
316 | Clarksville | Arkansas
Теперь, когда я выбрать пользователь, я получить обратно массив как
[
id => 1,
user_name => r3wt ,
location_id =>316
]
Что я хотел бы получить обратно:
[
id => 1,
user_name => r3wt ,
location_id =>[
id=>316,
city=>Clarksville,
state=>Arkansas
]
]
Я интересно, если это возможно, и если это так, как я мог бы изменить мое довольно мягкий запрос на выборку, чтобы сделать это возможным. Спасибо, и если вам нужно больше деталей или хотите, чтобы я сделал то, что будет жалкой попыткой разобраться в себе, я готов смутить себя, чтобы учиться. спасибо
Мой жалкий попытка, которая, конечно, не работает:
SELECT id, user_name, location AS location_id
FROM user JOIN location ON location.id = user.location_id
Имейте в виду, я совершенно не знаю, что я делаю. я даже не понимаю, что такое объединения и как они работают, но я понимаю, что я хотел бы иметь возможность делать с SQL.
Mysql вернет только строки. вы можете обработать этот массив в нужной структуре. –
вы используете php с вашим mysql? –
как насчет использования любого ORM в mysql .. это может быть хорошим началом -> http://www.doctrine-project.org/ –