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




MySQL.RU - Webboard



Вернуться
Запрос select из 3х таблиц (Павел) 12/05/2011 - 14:19:23
      Re: Запрос select из 3х таблиц (Akina) 12/05/2011 - 16:04:54
      Re: Запрос select из 3х таблиц (Павел) 12/05/2011 - 16:36:33
      Re: Запрос select из 3х таблиц (Akina) 12/05/2011 - 18:24:18
      Re: Запрос select из 3х таблиц (Павел) 12/05/2011 - 21:40:58
      Re: Запрос select из 3х таблиц (Павел) 13/05/2011 - 13:18:13

> Original message text:
> From: Павел - 12/05/2011 - 14:19:23
> Subject:Запрос select из 3х таблиц
> -----------------
> Помогите слегка запутался.
> Есть 3 таблицы history, users, contacts
> вот их состав
> history: UID,CID,TIME,IO,MESSAGE,DUPLICATE
> users: UID,NAME,INFO, GRP, ENABLED
> contacts: UID, CID, NAME, INFO, GRP, ENABLED
> Задача вывести историю и заменить UID, CID именами из соответствующих таблиц. Вот примерный запрос
>
> SELECT history.time,
> users.name as user,
> if(history.io,'=>','<=') as io,
> history.cid as contact,
> history.message
> FROM history,users
> WHERE users.uid=history.uid
>
> Из таблицы users - uid корректно заменяется на имя, а вот cid из таблицы contacts корректно заменить на contacts.name не получается. Дело еще в том, что имен у CID может быть несколько - это контакт и соответственно кто как хочет так его называет, т.е. нужно взять имя такое что в history uid был равен uid в contacts, а рядом будет корректный для этого пользователя CID.Name
>


From: Павел - 13/05/2011 - 13:18:13
Subject:Запрос select из 3х таблиц
-----------------
Правильный ответ:
select
history.time,
users.name as user,
if(history.io,'=>','<=') as io,
contacts.name as contact,
history.message
from
history left join
users on history.uid=users.uid left join
contacts on history.uid=contacts.uid and history.cid=contacts.cid


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

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

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



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