Новости
Документация
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: Павел - 12/05/2011 - 21:40:58
Subject:Запрос select из 3х таблиц
-----------------

Еще раз, сначала сделал выгрузку с наполнением.
Буду благодарен за помощь, Akina.

-- MySQL dump 10.13 Distrib 5.1.47, for Win32 (ia32)
--
-- Host: localhost Database: test
-- ------------------------------------------------------
-- Server version 5.1.47-community

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `contacts`
--

DROP TABLE IF EXISTS `contacts`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `contacts` (
`uid` varchar(256) NOT NULL,
`cid` varchar(256) DEFAULT NULL,
`name` varchar(256) DEFAULT NULL,
`info` varchar(256) DEFAULT NULL,
`grp` varchar(256) DEFAULT NULL,
`enabled` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `contacts`
--

LOCK TABLES `contacts` WRITE;
/*!40000 ALTER TABLE `contacts` DISABLE KEYS */;
INSERT INTO `contacts` VALUES ('12348','195232','Main','','General',1),('12348','489407','One','','General',1),('12348','3733119','Two','','General',1),('29018326','195232','Main_2','','General',1),('29018326','3733119','Two_2','','General',1),('161533','3733119','Two_3','','General',1),('161533','195232','Main_3','','General',1),('161533','489407','One_2','','General',1),('18204050','3733119','Two_4','','General',1),('18204050','357824649','Wolwer','','General',1);
/*!40000 ALTER TABLE `contacts` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `history`
--

DROP TABLE IF EXISTS `history`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `history` (
`uid` varchar(256) CHARACTER SET utf8 DEFAULT NULL,
`cid` varchar(256) DEFAULT NULL,
`time` timestamp NULL DEFAULT NULL,
`io` tinyint(1) DEFAULT NULL,
`message` text,
`duplicate` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `history`
--

LOCK TABLES `history` WRITE;
/*!40000 ALTER TABLE `history` DISABLE KEYS */;
INSERT INTO `history` VALUES ('12348','195232','2010-11-25 11:58:18',0,'Hello!!!',0),('12348','195232','2010-11-25 11:58:45',1,'hi',0),('29018326','195232','2010-11-25 11:59:00',0,'HI',0),('18204050','3733119','2010-11-25 11:59:00',0,'Well i not',0),('29018326','3733119','2010-11-25 11:59:18',0,'How do you do?',0),('29018326','3733119','2010-11-25 11:59:20',1,'good',0),('161533','3733119','2010-11-25 11:59:23',0,'test message',0),('161533','489407','2010-11-25 11:59:23',1,'test2',0);
/*!40000 ALTER TABLE `history` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
`uid` varchar(256) DEFAULT NULL,
`name` varchar(256) DEFAULT NULL,
`info` varchar(256) DEFAULT NULL,
`grp` int(11) DEFAULT NULL,
`enabled` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `users`
--

LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES ('12348','Korvin(12348)','',0,1),('29018326','Dark (29018326)','',0,1),('161533','Basta (161533)','',0,1),('18204050','Ron (18204050)','',0,1);
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2011-05-12 21:36:32


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

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

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



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