亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQL 我可以從兩個查詢中得到一個結果表,以便它們對齊不同列中的數據嗎

SQL 我可以從兩個查詢中得到一個結果表,以便它們對齊不同列中的數據嗎

C#
慕碼人8056858 2022-11-13 17:27:39
我有一個包含 9 列的 SQL 表:TSTAMP  SYSTEM  MODE    BOARD   CHANNEL USED    TOTAL   BOARDID STATUS“SYSTEM”包含 1 - 3 的值。第一個查詢將查找 System matching 1 和 Channel count 以及 Used max 和 Status <> free。然后再次進行系統匹配 2 等然后再次為系統匹配 3我想(這是按小時使用(24 小時格式))按列排列的數據,第 1 列中的 24 小時按行遞減。我知道我可以單獨執行每個查詢,但對 SQL 不熟悉,不確定使用什么命令使結果表按照我喜歡的方式排列。我嘗試的結果基本上是這樣的:Telematic 1 Hour    Processed   MaxUsed Telematic 2 Hour    Processed   MaxUsed Telmatic 3  Hour    Processed   MaxUsed    1   10  585 17  2   10  583 16  3   10  584 15    1    4    8  1  2    4   14  2  3    4    8  1  抱歉繞圈。我可以使用 UNION 但它只會創建 4 列。不是我要找的 12。
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

目前還不清楚你從哪里得到時間。但是為了拆分成列,我會使用如下的 Case 語句。我不知道你的計算結果,但不是 t.Channel,而是你的公式。如果需要求和,則從 MAX 切換到 SUM。將 t.Hour 替換為您獲取小時數的表。


如果沒有意義,請發布您的聯合查詢,我會根據用例進行調整。


SELECT

t.Hour

MAX(CASE WHEN t.System=1 THEN t.Channel END) T1Channel,

MAX(CASE WHEN t.System=1 THEN t.Board END) T1Board,

MAX(CASE WHEN t.System=2 THEN t.Channel END) T2Channel,

MAX(CASE WHEN t.System=2 THEN t.Board END) T2Board,

MAX(CASE WHEN t.System=3 THEN t.Channel END) T3Channel,

MAX(CASE WHEN t.System=3 THEN t.Board END) T3Board

FROM PDWPeriod t

GROUP BY 

t.Hour

基于您的新查詢:


SELECT DATEPART(hh, TSTAMP) AS Hour, 

COUNT(CASE WHEN System=1 THEN CHANNEL END) Processed1, 

max(CASE WHEN System=1 THEN [USED] END)as MaxUsed1,

COUNT(CASE WHEN System=2 THEN CHANNEL END) Processed2, 

max(CASE WHEN System=2 THEN [USED] END)as MaxUsed2,

COUNT(CASE WHEN System=3 THEN CHANNEL END) Processed3, 

max(CASE WHEN System=3 THEN [USED] END)as MaxUsed3,

COUNT(CASE WHEN System=4 THEN CHANNEL END) Processed4, 

max(CASE WHEN System=4 THEN [USED] END)as MaxUsed4

FROM [PINELLASLAB].[dbo].[TelematicPhysicalLines] 

WHERE TSTAMP >= '2019-02-27' AND TSTAMP < '2019-02-28' 

AND STATUS <> 'free' 

GROUP BY DATEPART(dd, TSTAMP), DATEPART(hour, TSTAMP) 


查看完整回答
反對 回復 2022-11-13
  • 1 回答
  • 0 關注
  • 100 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號