[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрос к нескольким таблицам
Nuzhser
Здравствуйте!
Делаю в начале запроса вот такое обьединение таблиц

$sql = "SELECT *, CONCAT(c.firstname, ' ', c.lastname) AS name, cg.name AS
customer_group, zn.name AS zone FROM "
. DB_PREFIX . "customer c LEFT JOIN
("
. DB_PREFIX . "customer_group cg, " . DB_PREFIX . "address ad, " . DB_PREFIX
. "zone zn) ON (c.customer_group_id = cg.customer_group_id AND c.customer_id
= ad.customer_id AND ad.zone_id = zn.zone_id) "
;


а в конце идет
ORDER BY name


и при выполнении пхп выводит ошибку мукулатуры что поле не уникально. Действительно поле не уникально в результирующемм обьединении, но как мне сделать чтобы иметь доступ сразу к трем полям name которые возникают в результате обьединения и уйти от ошибки?

_____________
Лэт ит би
Placido
ORDER BY CONCAT(c.firstname, ' ', c.lastname)
Nuzhser
Оно то так. Но у меня в обьединенной таблице есть сразу три поля с названием
name и скрипт уже далее их путает и получается каша (но без масла))).

_____________
Лэт ит би
Placido
Чтобы не играть в телепата, мне нужно видеть весь запрос.
Nuzhser
Кароче друзья в результате пришел к такому варианту запроса
который работает отлично

SELECT *, CONCAT(c.firstname, ' ', c.lastname) AS name, cg.name AS customer_group

FROM customer c LEFT JOIN (customer_group cg, (SELECT customer_id, zone_id FROM address) ad, (SELECT

zone_id, name AS zone_name FROM zone) zn) ON (c.customer_group_id = cg.customer_group_id AND

c.customer_id = ad.customer_id AND ad.zone_id = zn.zone_id) ORDER BY name ASC LIMIT 0,30


Всем большое спасибо!!

_____________
Лэт ит би
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.