Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Объеденить две таблицы избежать дубликатов (Слава) 16/03/2013 - 20:09:26
      Re: Объеденить две таблицы избежать дубликатов (Akina) 16/03/2013 - 22:06:25
      Re: Объеденить две таблицы избежать дубликатов (Слава) 17/03/2013 - 06:19:05



From: Слава - 16/03/2013 - 20:09:26
Subject:Объеденить две таблицы избежать дубликатов
-----------------
Привет есть такой запрос к таблице клиентов

$client = $model->query("
SELECT c.id, uname, mail, text, session_name, date, color
FROM client AS c
LEFT JOIN client_session AS cs ON cs.id=c.session
LEFT JOIN session AS s ON cs.session=s.id

WHERE manager=".$this->getUser()->getId()."

ORDER BY $order
LIMIT $strok,$limit
")->fetchAll();
$this->view->assign('client', $client);

Все отлично работае и отправляется в смарти. Та мразбирается и выводится.
Но вот понадобилось прикрутить таблицу с интересами клиента по городам.
CREATE TABLE `client_interes` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`client` int(11) DEFAULT NULL,
`country` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
)

Был создана таблица с индексами городов и ай ди клиента. Как мне ее прикрутить сюда что бы можно было в массиве получить все индексы городов, но приэтом на выводе не дублировались клиенты?



Если я делаю просто LEFTJOIN client_interes ON ...
У меня клиент у которого 2 города в таблице client_interes дублируется.. а если 3 города то "разтраивается"
Помогите решить проблему. Пробовал другой вариант, с еще запросом

foreach ($client as $v) {
$city = $model->query("
SELECT client, name
FROM client_interes AS ci
LEFT JOIN ra_country AS rc ON rc.id=ci.country
LEFT JOIN wa_country AS wc ON wc.isonumeric=rc.wa_country AND wc.locale='".$this->getUser()->getLocale()."'
WHERE client = ".$v[id].")
")->fetchAll();
$this->view->assign('city', $city);
}
Города выводятся, но мне кажется так нельзя делать... foreach по каждому клиенту это запрос в базу.. и если клиентов в списке 100 это 100 запросов в базу.. Да и в смарти что-то разобрать это пока еще не могу правильно..


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
42267



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |