台灣最大程式設計社群網站
線上人數
681
 
會員總數:244766
討論主題:188830
歡迎您免費加入會員
討論區列表 >> MS SQL >> 怎麼將3個SELECT TABLE JOIN在一起輸出成一個TABLE
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
怎麼將3個SELECT TABLE JOIN在一起輸出成一個TABLE
價值 : 100 QP  點閱數:416 回應數:2

樓主

吳嘉明
門外漢
0 1
22 0
發送站內信

MS SQL 2012

1.SELECT Count(CateMainID) FROM [A_SD].[dbo].[tblProject] Where ReleaseDate IS NULL Group by CateMainID
2.SELECT ColorCode FROM [A_BTA].[dbo].[tblBasStatusDesc] WHERE Category = 'ProjectPhase' ORDER BY Status
3.SELECT CateMainName FROM [A_SD].[dbo].[tblBasCategory] Group by CateMainName

需求:1+2+3最後合併成一個TABLE資料,要用ListView.DataBind傳到前端的Label去接:
CateMainID,Count(CateMainID),CateMainName,ColorCode

但是問題在一次搜尋資料ORDER BY只能用一次,不然就會顯示錯誤。而且裡面還牽涉到兩個不同的資料庫內的表格資料搜尋。

曾想過改用INNER JOIN就馬上遇到不能多次ORDER BY的問題,
後來改成下面,但是FROM後面就不知道怎麼寫了。

SELECT Count(CateMainID),
(SELECT ColorCode FROM [A_BTA].[dbo].[tblBasStatusDesc] WHERE Category = 'ProjectPhase' ORDER BY Status),
(SELECT CateMainName FROM [A_SD].[dbo].[tblBasCategory] Group by CateMainName)
FROM [A_SD].[dbo].[tblProject] Where ReleaseDate IS NULL Group by CateMainID

但是也過不了。

除非同時指定了 TOP、OFFSET 或 FOR XML,否則 ORDER BY 子句在檢視表、內嵌函數、衍生資料表、子查詢及通用資料表運算式中均為無效。
訊息 156,層級 15,狀態 1,行 22
接近關鍵字 'FROM' 之處的語法不正確。

求教大師們指導一下要怎麼寫?上網找也不知道這問題,算什麼種類的問題,該從何找起。

搜尋相關Tags的文章: [ ORDER BY ] , [ Group by ] ,
本篇文章發表於2018-12-25 12:35
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
建立一個temp table或一個實體的table 把您要的結果塞進去

其中三個TABLE 如何關聯 或達成關聯 您都沒說 不好回答
本篇文章回覆於2018-12-27 23:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

terance
檢舉此回應
從你的描述中,看不出CateMainName和ColorCodem這兩個跟CateMainID是甚麼關係
可否把你的所有TABLE的表格欄位都描述一下
本篇文章回覆於2019-01-15 00:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.