Try this, I don't know about your relationships since you did not mention PostId in Posts table hence I matched it with ForumId
DECLARE @Posts TABLE
(
ForumID INT,
Title VARCHAR(20),
Details VARCHAR(20),
VisitorID INT,
CreateDate DATETIME,
UpdateDate DATETIME,
OnStatus BIT ,
IPaddress VARCHAR(20),
TopicCreateName VARCHAR(20),
PostViews INT
)
DECLARE @Messages TABLE
(
PostID INT, Title VARCHAR(20), Details VARCHAR(20), VisitorID INT,
CreateDate DATETIME, OnStatus BIT, IPaddress VARCHAR(20), Message VARCHAR(20)
)
INSERT INTO @Posts
SELECT 1,'TestPost1','TestDetails1',1,GETDATE(),GETDATE(),1,'192.168.1.1','Topic1',10 UNION ALL
SELECT 2,'TestPost2','TestDetails2',1,GETDATE(),GETDATE(),1,'192.168.1.1','Topic2',20 UNION ALL
SELECT 3,'TestPost3','TestDetails3',1,GETDATE(),GETDATE(),1,'192.168.1.1','Topic3',30
INSERT INTO @Messages
SELECT 1,'TestMessage1','TestDetails1',1,GETDATE(),1,'192.168.1.1','Message1' UNION ALL
SELECT 1,'TestMessage2','TestDetails2',1,GETDATE(),1,'192.168.1.1','Message2' UNION ALL
SELECT 2,'TestMessage3','TestDetails3',1,GETDATE(),1,'192.168.1.1','Message3' UNION ALL
SELECT 2,'TestMessage4','TestDetails4',1,GETDATE(),1,'192.168.1.1','Message4' UNION ALL
SELECT 3,'TestMessage5','TestDetails5',1,GETDATE(),1,'192.168.1.1','Message5' UNION ALL
SELECT 3,'TestMessage6','TestDetails6',1,GETDATE(),1,'192.168.1.1','Message6' UNION ALL
SELECT 3,'TestMessage7','TestDetails7',1,GETDATE(),1,'192.168.1.1','Message7'
SELECT ForumID, Title, Details, VisitorID, CreateDate, UpdateDate, OnStatus, IPaddress,
TopicCreateName, PostViews,
(
SELECT COUNT(*) FROM @Messages WHERE ForumID=PostID
)
MessageCount
FROM @Posts
Output
ForumID Title Details VisitorID CreateDate UpdateDate OnStatus IPaddress TopicCreateName PostViews MessageCount
1 TestPost1 TestDetails1 1 2009-11-07 18:22:41.957 2009-11-07 18:22:41.957 1 192.168.1.1 Topic1 10 2
2 TestPost2 TestDetails2 1 2009-11-07 18:22:41.957 2009-11-07 18:22:41.957 1 192.168.1.1 Topic2 20 2
3 TestPost3 TestDetails3 1 2009-11-07 18:22:41.957 2009-11-07 18:22:41.957 1 192.168.1.1 Topic3 30 3