台灣最大程式設計社群網站
線上人數
2037
 
會員總數:245256
討論主題:189112
歡迎您免費加入會員
討論區列表 >> MS SQL >> 求ms sql 語法
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
求ms sql 語法
價值 : 50 QP  點閱數:583 回應數:4

樓主

阿偉
門外漢
0 19
1095 58
發送站內信

請問
下圖表格中
要如何下SELECT 才能達成
謝謝大家回答!!!



搜尋相關Tags的文章: [ MSSQL ] ,
本篇文章發表於2019-09-11 17:18
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
您原來的資料表是作不出來的,我改了一下,你看這是不是你要的

本篇文章回覆於2019-09-12 09:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

阿偉
檢舉此回應
回 p 大

是需要再加入id列嗎?

是我要的!!
本篇文章回覆於2019-09-12 09:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

P陳
檢舉此回應
加了 【問題序】 一個欄位

Select 語法如下:
TRANSFORM First([代碼] & " " & [原因]) AS Expr1
SELECT 單別.單別, 單別.單號, 單別.品號
FROM 單別
GROUP BY 單別.單別, 單別.單號, 單別.品號
PIVOT 單別.問題序;


還有資料表要正規化一下
本篇文章回覆於2019-09-12 15:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

真的有點難
檢舉此回應
我寫一半

alter procedure proc_ab
as

create table #A(
單別 nvarchar(50) null,
單號 nvarchar(50) null,
品號 nvarchar(50) null,
代碼 nvarchar(50) null,
原因 nvarchar(50) null)

insert #A
select 'AAA','20190911','1111-111','10','生鏽'

insert #A
select 'AAA','20190911','1111-111','20','磨損'

insert #A
select 'AAA','20190911','1111-111','30','不良'

insert #A
select 'BBB','20190911','2222-222','40','調機'

insert #A
select 'BBB','20190911','2222-222','50','試作'

insert #A
select 'BBB','20190911','2222-222','60','加工'

insert #A
select 'BBB','20190911','2222-222','70','休息'

select distinct 單別,單號,品號 into #rep from #A

select 單別,單號,品號,count(*) 數量 into #max from #A group by 單別,單號,品號



declare @sql nvarchar(1000)=''

DECLARE
@TotalNum INT, @Num INT
SET @TotalNum =(select max(數量) from #max)
SET @Num =1
WHILE @Num <= @TotalNum
BEGIN
set @sql='alter table #rep add 代碼'+ convert(nvarchar(50),@Num) + ' nvarchar(50) null;'
execute(@sql)
set @sql='alter table #rep add 原因'+ convert(nvarchar(50),@Num) + ' nvarchar(50) null;'
execute(@sql)
SET @Num = @Num + 1
END

select * from #rep
本篇文章回覆於2019-09-16 16:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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