2014-01-19 3 views
0

Мне нужно рассчитать, сколько пользователей онлайн. У меня есть это в двух таблицах, вот первая таблица:COUNT (*) на нескольких таблицах

+-------------+-------------+-------------+ 
|  id  |  name | status | 
+-------------+-------------+-------------+ 
|  1  |  name | 1  | 
+-------------+-------------+-------------+ 
|  2  |  name | 1  | 
+-------------+-------------+-------------+ 
|  3  |  name | 0  | 
+-------------+-------------+-------------+ 

Вторая таблица:

+-------------+-------------+-------------+ 
|  id  | userid | friend_id | 
+-------------+-------------+-------------+ 
|  1  |  1  | 2  | 
+-------------+-------------+-------------+ 
|  2  |  1  | 2  | 
+-------------+-------------+-------------+ 
|  3  |  2  | 3  | 
+-------------+-------------+-------------+ 

Т.е. сколько пользователей на другой стол, где user_id = 1 и сколько в Интернете.

+0

Я полагаю, что поле статуса указывает, что пользователь находится в режиме онлайн или нет? Тогда зачем вам вторая таблица? –

+0

Вторая таблица - теперь друзья говорят, что у пользователя с id 1 есть знакомый с id 2 , и мне нужно выяснить, сколько друзей id 1 находится в сети – domiQ

+0

. Вы должны хотя бы включить попытку, которую вы сделали для ее достижения, - тогда пользователи будут легче помочь вам, а не выполнять какую-то работу, которую вы должны были сделать. – nKn

ответ

1

Вы можете присоединиться к таблицам вместе, а затем выполнить подсчет.

SELECT COUNT(*) 
FROM table1 AS t1 
JOIN table2 AS t2 ON (t1.id = t2.friendID) 
WHERE t2.userID = 1 
+0

спасибо, что это работает – domiQ

Смежные вопросы