 |
|
สอบถามการ Select ข้อมูล sql server แบบ transpose โดยเปลี่ยนจาก row มาแสดงผลเป็น column |
|
 |
|
|
 |
 |
|
Code (SQL)
SELECT ID,
(case homework WHEN 'work1' THEN score else 0 end ) as work1,
(case homework WHEN 'work2' THEN score else 0 end ) as work2,
(case homework WHEN 'work3' THEN score else 0 end ) as work3,
(case homework WHEN 'work4' THEN score else 0 end ) as work4,
(case homework WHEN 'work5' THEN score else 0 end ) as work5
FROM TableXX
https://www.thaicreate.com/tutorial/sql-case-when.html
|
ประวัติการแก้ไข 2015-05-19 08:55:47
 |
 |
 |
 |
Date :
2015-05-19 08:55:31 |
By :
ipstarone |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เราจะไม่ฟิกค่าตรง homework ได้ไหมคะ คืออยากให้ดึงข้อมูลตามในตารางที่มีอยู่
|
 |
 |
 |
 |
Date :
2015-05-21 23:01:12 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

Code (SQL)
select id,[work1],[work2],[work3],[work4],[work5]
from jobs
pivot(
sum(score) for homework in ([work1],[work2],[work3],[work4],[work5])
) as e
http://sqlfiddle.com/#!3/c7f45/3
|
 |
 |
 |
 |
Date :
2015-05-22 11:38:35 |
By :
ipstarone |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือจะไม่กำหนด work 1 - 5 ได้ไหมคะ คืออยากให้ดึงตามข้อมูลที่มีอยู่ในตาราง
|
 |
 |
 |
 |
Date :
2015-05-24 22:16:31 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @ColumnName= ISNULL(@ColumnName + ',','')
+ QUOTENAME(homework)
FROM (SELECT DISTINCT homework FROM tablename) AS TableTemp
--Prepare the PIVOT query using the dynamic
SET @DynamicPivotQuery =
N'SELECT id, ' + @ColumnName + '
FROM tablename
PIVOT(SUM(score)
FOR homework IN (' + @ColumnName + ')) AS PVTTable'
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery
ref. http://sqlhints.com/2014/03/18/dynamic-pivot-in-sql-server/

|
ประวัติการแก้ไข 2015-05-25 03:19:34
 |
 |
 |
 |
Date :
2015-05-25 03:19:04 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าจะให้ where ตาม resub_id ที่เลือก ไม่ทราบว่าต้องใส่ตรงไหนคะ
ขอบคุณคะ
|
 |
 |
 |
 |
Date :
2015-05-25 22:11:31 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมว่าอยู่ที่การออกแบบ Table แล้วครับ เห็นหลายกระทู้แล้ว เหมือนจะกลับค่าไป-มา
ลองบอกโปรเจ็ค จุดประสงค์งานคร่าว ๆ มาหน่อยได้ไหมครับ
เผื่อผมและคนในนี้ สามารถแนะนำแนวทางโครงสร้างฐานข้อมูลให้ได้ครับ

|
 |
 |
 |
 |
Date :
2015-05-25 23:11:52 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้า normalized ตารางนี้หน่อยจะทำให้ยืดหยุ่นในการแสดงผลมากกว่า
และไม่ทำให้ query ออกท่าพิสดารปานนั้นด้วยนะครัช
ปล. exec query ไม่ได้ใช้นานจนแทบจะลืมแล้วนะครัชนี่ หุหุ
|
 |
 |
 |
 |
Date :
2015-05-26 07:34:45 |
By :
DOG{B} |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|