T-SQL Выбрать и считать из другой таблицы? - PullRequest
9 голосов
/ 12 июля 2011

У меня есть таблица (Threads), содержащая поле (id). Я хотел бы выбрать каждую строку из Threads, а также количество строк в таблице Posts, где поле Posts.thread совпадает с Threads.id.

Как это можно сделать в SQL?

(что-то вроде этого псевдо-SQL: SELECT *, COUNT(* FROM Posts WHERE Posts.id=Threads.id) FROM Threads)

Ответы [ 2 ]

31 голосов
/ 12 июля 2011

Конечно - как то так?

SELECT 
    t.ThreadID,
    (SELECT COUNT(*) FROM dbo.Posts p WHERE p.ThreadID = t.ThreadID)
FROM
    dbo.Threads t
12 голосов
/ 12 июля 2011
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...