Re: [SQL ] JOIN遇到的問題
※ 引述《z77819 (Qoo離開合了)》之銘言:
: 我是用 Microsoft SQL Server 2005,
: 資料庫有建兩張 Table,
: EIP_Forum_Thread(ThreadID, ForumID, title, ViewCount)
: EIP_Forum_Posts(PostID, ThreadID, body, AddedDate, AddedBy)
: Thread存主題, Posts存回覆的資料
: 我想要做 JOIN 撈出某個版所有主題
: 我的SQL指令
: SELECT DISTINCT EIP_Forum_Posts.ThreadID, EIP_Forum_Thread.title,
: EIP_Forum_Thread.ViewCount, EIP_Forum_Posts.AddedDate,
: EIP_Forum_Posts.AddedBy
: FROM EIP_Forum_Posts INNER JOIN EIP_Forum_Thread ON
: EIP_Forum_Posts.ThreadID = EIP_Forum_Thread.ThreadID
: WHERE (EIP_Forum_Thread.ForumID = @fid)
沒有範例資料用猜的:
假設首po的 PostID在同 ThreadID裡是最小的
EIP_Forum_Thread 的 key是 ThreadID
EIP_Forum_Posts 的 key是 PostID
翻譯成SQL大概是這樣:
select *
from EIP_Forum_Thread a
join EIP_Forum_Posts b on a.ThreadID=b.ThreadID
and b.PostID =(
select min(postid)
from EIP_Forum_Posts c
where c.ThreadID=a.ThreadID
)
大概能跑吧....
: 如果文章沒人回覆就沒有問題,可是有的話就會連回覆的文章標題一起出來
: 請問該怎麼修改OK??
: 一開始是想用Group by去做,可是沒辦法執行,不過在MY SQL卻可以
Group by不是這樣用的吧
: 我的SQL指令~
: SELECT *
: FROM EIP_Forum_Posts INNER JOIN EIP_Forum_Thread ON
: EIP_Forum_Posts.ThreadID = EIP_Forum_Thread.ThreadID
: WHERE (EIP_Forum_Thread.ForumID = @fid)
: GROUP BY EIP_Forum_Thread.ThreadID
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.205.173
推
01/09 00:30, , 1F
01/09 00:30, 1F
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章