2016-04-14 48 views
0

所有人。我有2个表
mysql:COUNT返回错误号码

大厅:

|lobby_id (pk, a_increment) | t_id | u_id | 
------------------------------------------- 
|1       | 6 | 131 | 

旅行:

|tid | t_name | t_desc | max_size | 
---------------------------------- 
|6 | GO TO HELL | DSADA | 13 | 
|7 | GO TO das | DSADA | 9 | 
|7 | GO TO das | DSADA | 9 | 

我需要从大厅计数U_ID其中T_ID = 6(在旅行表TID)和显示:计数和max_size(旅行) 我的SQL查询如此简单:

SELECT count(b.u_id) as counter, a.size as p_size 
     from trips a 
     left join lobby b ON b.t_id=6 

但查询结果显示我没有计数器= 1和MAX_SIZE = 13,此查询returs计数器3和max_size个13

回答

2

您需要ON条款查询的两个表的谓词匹配的记录:

SELECT count(b.u_id) as counter, b.max_size 
from trips a 
left join lobby b ON a.tid = b.tid 
WHERE a.t_id=6 
+0

嗨,非常感谢。你节省了我很多时间,因为我不擅长sql :( – ATIKON

+0

@ATIKON很高兴我能够帮助你,请标记这个或其他任何答案,如果它帮助你解决了你的问题。 –

0

我不明白为什么你有一个join都:

SELECT COUNT(*) as counter, MAX(a.size) as p_size 
FROM trips t 
WHERE t.tid = 6 

所有的信息在一个表中。

+0

我需要从大厅计数u_id。 – ATIKON