У меня есть четыре таблицы: user
, user_billingprofile
, user_shippingprofile
и user_address
.
пользователь: ИД пользователя, дата создания
user_billingprofile: userId, адрес
user_shippingprofile: userId, адрес
user_address: случайный адрес дерьма
Вот запрос, который я должен получить, чтобы пользователи выставляли счета и отправляли профили за один раз.
SELECT * FROM `user`
JOIN `user_billingprofile` ON `user`.`userId` = `user_billingprofile`.`userId`
JOIN `user_address` ON `user_billingprofile`.`currentAddress` = `user_address`.`addressId`
JOIN `user_shippingprofile` ON `user_shippingprofile`.`currentAddress` = `user_address`.`addressId`
JOIN `user_address` ON `user_shippingprofile`.`currentAddress` = `user_address`.`addressId`
Я получаю ошибку: #1066 - Not unique table/alias: 'user_address'
.
Есть ли способ сделать простое объединение, когда к таблице обращаются дважды в одном запросе, и разделить два результата? Предпочтительно с каким-то префиксом таблицы ...
Я немного растерялся здесь. Я знаю, что могу легко сделать это в двух отдельных запросах, но я бы хотел научиться делать такие вещи за один раз.
Любая помощь / предложения / направление очень ценится, спасибо!