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




MySQL.RU - Webboard



Вернуться
объединение двух таблиц (Sultan) 21/05/2003 - 08:37:49
      Re: объединение двух таблиц (Валентин) 21/05/2003 - 11:06:56
      Re: объединение двух таблиц (Валентин) 21/05/2003 - 11:09:09
      Re: объединение двух таблиц (Sultan) 21/05/2003 - 11:22:37
      Re: объединение двух таблиц (Sultan) 21/05/2003 - 11:28:41
      Re: объединение двух таблиц (Валентин) 21/05/2003 - 11:34:57
      Re: объединение двух таблиц (Валентин) 21/05/2003 - 11:36:16
      Re: объединение двух таблиц (Sultan) 21/05/2003 - 11:49:31

> Original message text:
> From: Sultan - 21/05/2003 - 08:37:49
> Subject:объединение двух таблиц
> -----------------
> Есть таблица in_traff
> ip hour bytes
> 192.168.0.10 1 1
> 192.168.0.11 1 2
>
> И есть таблица out_traff
> ip hour bytes
> 192.168.0.11 1 3
> 192.168.0.12 1 4
>
> Хочу получить такое:
>
> ip hour bytes_in bytes_out
> 192.168.0.10 1 1 0
> 192.168.0.11 1 2 3
> 192.168.0.12 1 0 4
>
> Даже не знаю, как это получить. left join'ом что-то не то получается, а full join/ом совсем нифига.
>
> mysql 4.0.12
>


From: Валентин - 21/05/2003 - 11:34:57
Subject:объединение двух таблиц
-----------------
Но в этом запросе еть глюк, его можно пересетроить так
select i.id, i.`ip`,(i.`hour`+o.`hour`) as summhours,bytes_in,o.bytes_out, o.ip
from `in_traff` i
join `out_traff` o on o.`ip`=i.`ip`

group by i.id

union
select i.id, i.`ip`,(i.`hour`) as summhours,bytes_in,'0','0'
from `in_traff` i
left join `out_traff` o on o.`ip`=i.`ip`
where o.bytes_out is null

union
select o.id, o.`ip`,o.`hour` as summhours,'0',o.bytes_out,'0'
from `out_traff` o
left join `in_traff` i on i.`ip`=o.`ip`
where bytes_in is null



Обратите внимание на первый select, на многих значниях он возвращает пары значений ip, но если в таблице out_traff нет пары к ip в in_traff, то значение не выводится. Думаю, что решение есть.
Проверяйте на большом количестве данных.


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

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

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



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