T-SQL Select and count from different table?
I have a table (Threads
) containing a field (id
). I would like to select every row from Threads
, as well as the number of rows in the table Posts
where the field Posts.thread
i开发者_开发问答s the same as Threads.id
.
How can this be done in SQL?
(Something like this pseudo-SQL: SELECT *, COUNT(* FROM Posts WHERE Posts.id=Threads.id) FROM Threads
)
Sure - something like this?
SELECT
t.ThreadID,
(SELECT COUNT(*) FROM dbo.Posts p WHERE p.ThreadID = t.ThreadID)
FROM
dbo.Threads t
SELECT t.id, COUNT(p.thread)
FROM Threads AS t
LEFT OUTER JOIN Posts AS p
ON t.id = p.thread
GROUP BY t.id
精彩评论