[英]Mysql query for joining three tables
I have three Tables. 我有三个桌子。
requests - request_id, request_message, requester_id 请求 -request_id,request_message,requester_id
I want to fetch All the fields from requests , requesters_name from requesters for which requester_id is in requests table and count of responses for request_id from responses table. 我想从requests中获取所有字段 , 从requesters中获取requester_id的请求者的requesters_name,并从响应表中获取request_id的响应计数 。
please help me out. 请帮帮我。
Thanks 谢谢
I'd get the count from a sub-select and just join the other two tables together with a regular join 我将从子选择中获取计数,然后将其他两个表与常规联接一起联接
SELECT r.*, rn.requesters_name,
(SELECT COUNT(response_id)
FROM responses rp WHERE r.request_id=rp.request_id)
AS response_count
FROM requests r JOIN requester rn ON r.requesters_id=rn.requesters_id
SELECT requests.*,requesters.requesters_name,count(1) AS c FROM requests
LEFT JOIN requesters ON requesters.requester_id = request.requester_id
LEFT JOIN responses ON responses.request_id = requests.request_id
GROUP BY requests.request_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.