兩個表
表a
id 機房
1 機房a
2 機房b
3 機房c
表b
id 機房id 主機名稱 主機狀態
1 1 主機a 1
2 1 主機b 1
3 1 主機c 2
4 2 主機d 0
5 2 主機e 1
怎么寫sql陳述句可以看到每個機房的主機匯總狀態分別有多少個?
機房 狀態0 狀態1 狀態2
機房a 0 2 1
機房b 1 1 0
機房c 0 0 0
uj5u.com熱心網友回復:
CREATE TABLE #A
(
ID INT,
機房 VARCHAR(20)
)
CREATE TABLE #B
(
ID INT,
機房ID INT,
主機名稱 VARCHAR(20),
主機狀態 INT
)
INSERT INTO #A VALUES (1,'機房A')
INSERT INTO #A VALUES (2,'機房B')
INSERT INTO #A VALUES (3,'機房C')
INSERT INTO #B VALUES (1,1,'主機A',1)
INSERT INTO #B VALUES (2,1,'主機B',1)
INSERT INTO #B VALUES (3,1,'主機C',2)
INSERT INTO #B VALUES (4,2,'主機D',0)
INSERT INTO #B VALUES (5,2,'主機E',1)
SELECT * FROM (
SELECT A.機房,B.主機名稱,B.主機狀態 FROM #A A LEFT JOIN #B B ON A.ID = B.機房ID) X
PIVOT
(
COUNT(主機名稱) FOR 主機狀態 IN ([0],[1],[2])
)XX
DROP TABLE #A,#B
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/269477.html
標籤:基礎類
上一篇:sql server2014 匯入Oracle時,提示資料庫連接錯誤 未找到orcle客戶端和網路組件
下一篇:與網路相關的或特定于實體的錯位