sondmk header
SQL SERVER เบื้องต้น

SQL SERVER :: Ranking Function (ฟังก์ชั่นเกี่ยวกับการจัดอันดับของข้อมูลในรูปแบบต่างๆ)

Post by Goborijung at 2019-12-11 13:12:23 | ID: 300

Ranking Function
ฟังก์ชั่นเกี่ยวกับการจัดอันดับของข้อมูลในรูปแบบต่างๆ

/* ใส่เลขลำดับแถว ด้วย ROW_NUMBER */
SELECT ROW_NUMBER() OVER(ORDER BY ItemName) AS row_no, * 
FROM TM_SO

/* จัดอันดับของข้อมูล */
SELECT RANK() OVER(ORDER BY ItemName) AS row_no, * 
FROM TM_SO

SQL SERVER :: RENAME COLUMN

Post by Goborijung at 2019-12-06 10:24:42 | ID: 214

sp_rename 'table_name.column_name','new_column_name','COLUMN'

Ex.
sp_rename 'test.Tel','Tels','COLUMN'

SQL SERVER :: REPLACE() Function ค้นหาและแทนที่คำ

Post by Goborijung at 2019-12-10 16:47:26 | ID: 288

REPLACE('main_str','search','replace') ค้นหาและแทนที่คำ
Ex.
SELECT REPLACE('Happy New Year','New Year','Birthday') //Output : Happy Birthday

SQL SERVER :: RIGHT OUTER JOIN (ดึงข้อมูลโดยใช้ตารางทางขวาเป็นหลัก)

Post by Goborijung at 2019-12-10 10:00:05 | ID: 260

RIGHT OUTER JOIN
เป็นการเชื่อมตาราง ตั้งแต่ 2 ตารางเข้าด้วยกัน โดยจะตรวจสอบข้อมูลในคอลัมน์ที่ใช้เป็นเงื่อนไขในการเชื่อมโยงทั้ง 2 ตาราง
โดยจะแสดงแถวข้อมูลจากตารางขวาทั้งหมด ส่วนตารางฝั่งซ้าย จะแสดงเฉพาะแถวที่มีเงื่อนไขตรงกับตารางฝั่งขวาเท่านั้น

Note:: 
ตารางฝั่งซ้าย (ตารางที่ถูกประกาศก่อน) จะถูกแสดงทั้งหมด
ตารางฝั่งขวา (ตารางที่ถูกประกาศทีหลัง) จะแสดงเฉาะแถวที่มีเงื่อนไขของข้อมูล ตรงกันกับตารางทางฝั่งซ้ายเท่านั้น

Ex.
SELECT * FROM table_a AS a
RIGHT OUTER JOIN table_b AS b
ON a.column_name = b.column_name

Ex.
SELECT * FROM Section AS s
RIGHT OUTER JOIN [User] AS u
ON s.OID = u.Section
WHERE u.NickName IS NOT NULL

SQL SERVER :: ROUND(numeric_expr) Function ปัดเศษขึ้นเป็นเลขจำนวนเต็ม (เศษ 5 ขึ้นไป)

Post by Goborijung at 2023-04-10 16:03:54 | ID: 1875

SELECT ROUND(10.45,0) AS UnitPrice --10.00
SELECT ROUND(32.56,0) AS UnitPrice --33.00


SQL SERVER :: SELECT * FROM (แสดงข้อมูลทุกคอลัมน์)

Post by Goborijung at 2019-12-06 15:15:41 | ID: 222

SELECT * FROM table_name

Ex.
SELECT * FROM Customer

SQL SERVER :: SELECT + PIVOT (การสร้างคิวรี่โดยการกลับตาราง)

Post by Goborijung at 2021-03-03 10:25:07 | ID: 256

/* ตัวอย่างการใช้ Pivot */
SELECT * FROM( SELECT 
	Customer, 
	MONTH(ETADate) AS months, 
	ORDQTYPCS 
	FROM TM_SO WHERE YEAR(ETADate) = 2018
)
TM_SO
PIVOT
(
	SUM(ORDQTYPCS)
	FOR months IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
) pvt
ORDER BY Customer

/* ตัวอย่างการใช้ Subquery */

Select * From (
	Select CONo,ItemCode,Item,QtyPcs From (
		select c.SerialNumber,c.CONo,c.Branch,c.Department,c.DefaultBranch,ct.ItemCode,ct.Item,i.Code,ct.Model,ct.Size,ct.Color,ct.QtyPcs 
		from Carton c inner join CartonDetail ct on ct.Carton = c.OID left join Item i on i.OID = ct.Item
		where c.SerialNumber IN('FG190831000009','FG190831000010','FG190831000011','FG190831000012','FG190831000013','FG190831000014')
	) s2
) s1
PIVOT
(	
	SUM(QtyPcs)
	FOR ItemCode IN ([FC-P4L18RSM300XXL-BK])
) pvt


/* ตัวอย่างที่ 2 */

/*--------จากตาราง-----------
ValueName		ValueData
SellPrcOther	0
SellPrcBruma	0
SellPrcChina	0
-------------------------*/

Select * From (
	-- ทำการ Select ValueName,ValueData จากตาราง zvalue (เราจะเอา ValueName มาทำเป็น Colume)
	SELECT ValueName,ValueData from zvalue  Where ValueName in('SellPrcOther','SellPrcBruma','SellPrcChina')	
) s1
PIVOT
(	
	max(ValueData) -- เราจะเอา ValueData มาใส่ให้กับแต่ละ Columns
	FOR ValueName IN (SellPrcOther,SellPrcBruma,SellPrcChina) --(เราจะเอา ValueName มาทำเป็น Colume)
) pvt

/*---------------- ผลลัพธ์ที่ได้ -------------------
SellPrcOther	SellPrcBruma	SellPrcChina
0				0				0
---------------------------------------------*/



SQL SERVER :: SELECT + DISTINCT (การใช้ DISTINCT ร่วมกับ Function)

Post by Goborijung at 2019-12-09 13:22:43 | ID: 250

Ex.
-- การหาค่าเฉลี่ยของราคาสินค้าทั้งหมด
SELECT AVG(ListPrice)
FROM Product

-- การหาค่าเฉลี่ย โดยตัดราคาที่ซ้ำกันออกก่อน แล้วค่อยหาค่าเฉลี่ย
SELECT AVG(DISTINCT ListPrice)
FROM Product

SQL SERVER :: SELECT + DISTINCT (จำกัดแถวที่มีค่าซ้ำกันออกไป หรือ เอาเฉพาะแถวที่ไม่ซ้ำกัน)

Post by Goborijung at 2019-12-09 13:17:10 | ID: 249

Ex.
SELECT DISTINCT Color
FROM Product
WHERE Color IS NOT NULL
ORDER BY Color

หรือจะใช้ GROUP BY แทนก็ได้

SELECT Color
FROM Product
WHERE Color IS NOT NULL
GROUP BY Color
ORDER BY Color

SQL SERVER :: SELECT + GROUP BY

Post by Goborijung at 2019-12-09 10:19:49 | ID: 243

SELECT column_id 
SUM(column_name) AS new_var 
FROM table_name
WHERE YEAR(column_date) = 2019
GROUP BY column_id

Ex.
SELECT CustomerID
SUM(SubTotal) AS Total, COUNT(*) AS TotalBill
FROM SalesOrder
WHERE YEAR(OrderDate) = 2012
GROUP BY CustomerID

<<<...6789101112131415>>>

Framework

Library


เครื่องมือพัฒนาเว็บ



การออกแบบและพัฒนาเว็บไซต์


Download SourceCode



copyAllright © 2016 soundmk.com