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




MySQL.RU - Webboard



Вернуться
Вывод информации по дате (DarkRevenger) 23/05/2011 - 07:45:44
      Re: Вывод информации по дате (Akina) 23/05/2011 - 12:48:39
      Re: Вывод информации по дате (DarkRevenger) 23/05/2011 - 14:20:49
      Re: Вывод информации по дате (Akina) 23/05/2011 - 14:28:01
      Re: Вывод информации по дате (DarkRevenger) 23/05/2011 - 14:41:45
      Re: Вывод информации по дате (Akina) 23/05/2011 - 15:10:28
      Re: Вывод информации по дате (Akina) 23/05/2011 - 15:12:25
      Re: Вывод информации по дате (DarkRevenger) 23/05/2011 - 15:16:50
      Re: Вывод информации по дате (DarkRevenger) 23/05/2011 - 15:20:11
      Re: Вывод информации по дате (Akina) 23/05/2011 - 15:39:00
      Re: Вывод информации по дате (Akina) 23/05/2011 - 15:47:04
      Re: Вывод информации по дате (DarkRevenger) 23/05/2011 - 15:53:35
      Re: Вывод информации по дате (DarkRevenger) 23/05/2011 - 15:56:26
      Re: Вывод информации по дате (Akina) 23/05/2011 - 16:01:31
      Re: Вывод информации по дате (Akina) 23/05/2011 - 16:03:15
      Re: Вывод информации по дате (Akina) 23/05/2011 - 16:08:11
      Re: Вывод информации по дате (DarkRevenger) 24/05/2011 - 07:00:09
      Re: Вывод информации по дате (Akina) 24/05/2011 - 08:42:36
      Re: PS. (Akina) 24/05/2011 - 10:50:40

> Original message text:
> From: DarkRevenger - 23/05/2011 - 07:45:44
> Subject:Вывод информации по дате
> -----------------
> Вот такой запрос
> Select * from Calls,Users where Calls.phone_number=$_SESSION[phone_number] and Calls.date_of_call>=Users.doa and Calls.cost<>0
>
> *doa-дата регистрации
> А как теперь переделать этот запрос чтобы он выводил данные полностью за весь прошлый месяц, но с учетом Сalls.date_of_call>=Users.doa
>


From: Akina - 23/05/2011 - 15:39:00
Subject:Вывод информации по дате
-----------------
Я не курю, а думаю. Это Вам и думать лень, и попробовать лень. Ладно, сделаю ЗА ВАС. Вот только структуры упрощу.

Вот лог с консоли:

=========================================
mysql> CREATE TABLE IF NOT EXISTS `Users` (
-> `id` int(20) AUTO_INCREMENT,
-> `name` varchar(30),
-> `doa` date,
-> `phone_number` varchar(10),
-> PRIMARY KEY (`id`)
-> );
Query OK, 0 rows affected (0.11 sec)

mysql> Insert Into Users (name, doa, phone_number)
-> Values
-> ('user1', '2011-01-01', '111-01-01'),
-> ('user2', '2011-02-01', '222-02-02'),
-> ('user3', '2011-03-01', '333-03-03');
Query OK, 3 rows affected (0.05 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> CREATE TABLE IF NOT EXISTS `Calls` (
-> `id_call` int(100) AUTO_INCREMENT,
-> `phone_number` varchar(11),
-> `date_of_call` date,
-> `cost` float,
-> `recipient` varchar(16),
-> PRIMARY KEY (`id_call`)
-> );
Query OK, 0 rows affected (0.02 sec)

mysql> Insert Into Calls (phone_number, date_of_call, cost, recipient)
-> Values
-> ('111-01-01', '2011-01-11', 1, '111-11-01'),
-> ('111-01-01', '2011-02-12', 1, '111-11-02'),
-> ('111-01-01', '2011-03-13', 1, '111-11-03'),
-> ('222-02-02', '2011-02-11', 2, '222-22-01'),
-> ('222-02-02', '2011-03-12', 2, '222-22-02'),
-> ('222-02-02', '2011-03-13', 2, '222-22-03'),
-> ('333-03-03', '2011-03-11', 3, '333-33-01'),
-> ('333-03-03', '2011-03-12', 3, '333-33-02'),
-> ('333-03-03', '2011-03-13', 3, '333-33-03');
Query OK, 9 rows affected (0.02 sec)
Records: 9 Duplicates: 0 Warnings: 0

mysql> select * from users;
+----+-------+------------+--------------+
| id | name | doa | phone_number |
+----+-------+------------+--------------+
| 1 | user1 | 2011-01-01 | 111-01-01 |
| 2 | user2 | 2011-02-01 | 222-02-02 |
| 3 | user3 | 2011-03-01 | 333-03-03 |
+----+-------+------------+--------------+
3 rows in set (0.00 sec)

mysql> select * from calls;
+---------+--------------+--------------+------+-----------+
| id_call | phone_number | date_of_call | cost | recipient |
+---------+--------------+--------------+------+-----------+
| 1 | 111-01-01 | 2011-01-11 | 1 | 111-11-01 |
| 2 | 111-01-01 | 2011-02-12 | 1 | 111-11-02 |
| 3 | 111-01-01 | 2011-03-13 | 1 | 111-11-03 |
| 4 | 222-02-02 | 2011-02-11 | 2 | 222-22-01 |
| 5 | 222-02-02 | 2011-03-12 | 2 | 222-22-02 |
| 6 | 222-02-02 | 2011-03-13 | 2 | 222-22-03 |
| 7 | 333-03-03 | 2011-03-11 | 3 | 333-33-01 |
| 8 | 333-03-03 | 2011-03-12 | 3 | 333-33-02 |
| 9 | 333-03-03 | 2011-03-13 | 3 | 333-33-03 |
+---------+--------------+--------------+------+-----------+
9 rows in set (0.02 sec)

mysql> Select *
-> from Calls, Users
-> where Calls.phone_number='222-02-02'
-> and Calls.date_of_call>=Users.doa
-> and Calls.cost<>0;
+---------+--------------+--------------+------+-----------+----+-------+------------+--------------+
| id_call | phone_number | date_of_call | cost | recipient | id | name | doa | phone_number |
+---------+--------------+--------------+------+-----------+----+-------+------------+--------------+
| 4 | 222-02-02 | 2011-02-11 | 2 | 222-22-01 | 1 | user1 | 2011-01-01 | 111-01-01 |
| 4 | 222-02-02 | 2011-02-11 | 2 | 222-22-01 | 2 | user2 | 2011-02-01 | 222-02-02 |
| 5 | 222-02-02 | 2011-03-12 | 2 | 222-22-02 | 1 | user1 | 2011-01-01 | 111-01-01 |
| 5 | 222-02-02 | 2011-03-12 | 2 | 222-22-02 | 2 | user2 | 2011-02-01 | 222-02-02 |
| 5 | 222-02-02 | 2011-03-12 | 2 | 222-22-02 | 3 | user3 | 2011-03-01 | 333-03-03 |
| 6 | 222-02-02 | 2011-03-13 | 2 | 222-22-03 | 1 | user1 | 2011-01-01 | 111-01-01 |
| 6 | 222-02-02 | 2011-03-13 | 2 | 222-22-03 | 2 | user2 | 2011-02-01 | 222-02-02 |
| 6 | 222-02-02 | 2011-03-13 | 2 | 222-22-03 | 3 | user3 | 2011-03-01 | 333-03-03 |
+---------+--------------+--------------+------+-----------+----+-------+------------+--------------+
8 rows in set (0.02 sec)
==========================================

Как последняя выборка, сильно логичная и правильная?


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

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

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



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