Post by Goborijung at 2021-01-15 15:12:44 | ID: 246
คำสั่ง HAVING ใช้กรองข้อมูลที่ได้จาก GROUP BY HAVING จะใช้ตรวจสอบผลที่ได้จากการจัดกลุ่มแล้วเท่านั้น Ex. SELECT CustomerID SUM(SubTotal) AS Total, COUNT(*) AS TotalBill FROM SalesOrder WHERE YEAR(OrderDate) = 2019 GROUP BY CustomerID HAVING SUM(SubTotal) >= 100000 จากตัวอย่าง จะเห็นว่าเงื่อนไข WHERE เป็นการดึงข้อมูลเฉพาะปี 2019 จากนั้น จะจัดกลุ่มและหาผลรวมของยอดซื้อ จากนี้น จะนำผลรวมไปตรวจสอบว่า มียอดสั่งซื้อตั้งแต่ 100,000 บาทขึ้นไปหรือไม่ ถ้ามีก็ให้แสดงข้อมูลออกมา >> ตัวอย่าง Query จริง (gssv2) SELECT PONo, SUM(UnitCost) AS TotalUnitCost, COUNT(*) AS TotalBill FROM TM_PO WHERE YEAR(PODate) = 2019 GROUP BY PONo HAVING SUM(UnitCost) >= 100000
Post by Goborijung at 2019-12-10 09:12:07 | ID: 258
INNER JOIN เป็นการเชื่อมตั้งแต่ 2 ตารางขึ้นไปเข้าด้วยกัน โดยอาศัยคอลัมที่มีความสัมพันธ์กัน มาทำการเชื่อมโยงข้อมูลเข้าด้วยกัน เงื่อนไขคือ ดึงเฉพาะคอลัมที่มีข้อมูลตรงกัน จากทั้งสองตาราง Ex. SELECT * FROM table_a INNER JOIN table_b ON table_a.ProductID = table_b.ProductID หรือ SELECT u.UserName,u.NickName,s.Name AS SectionName FROM [User] u INNER JOIN Section s ON u.Section = s.OID WHERE u.NickName IS NOT NULL หรือ SELECT u.UserName,u.NickName,s.Name AS SectionName FROM [User] AS u INNER JOIN Section AS s ON u.Section = s.OID WHERE u.NickName IS NOT NULL
Post by Goborijung at 2019-12-09 14:30:43 | ID: 254
Ex. SELECT ContactID,Name,LastName INTO new_table FROM old_table
Post by Goborijung at 2019-12-09 14:19:08 | ID: 253
Ex. SELECT NTILE(100) OVER(ORDER BY POQty) AS No, * FROM TM_PO จากตัวอย่าง จะเป็นการแบ่งกลุ่มข้อมูลออกเป็นกลุ่มละ 100
Post by Goborijung at 2019-12-09 14:13:13 | ID: 252
Ex. SELECT RANK() OVER(ORDER BY POQty) AS Ranks, DENSE_RANK() OVER(ORDER BY POQty) AS DenseRank, * FROM TM_PO
Post by Goborijung at 2019-12-09 13:25:31 | ID: 251
Ex. SELECT TOP 10 ProductID, Name, Color FROM Product
Post by Goborijung at 2019-12-10 08:22:23 | ID: 257
WITH UserNames (Column_OID,Column_UserName) AS ( SELECT OID,(UserName+' | '+FullName+' | '+NickName) FROM [User] ) SELECT * FROM UserNames WHERE Column_UserName IS NOT NULL
Post by Goborijung at 2019-12-09 13:06:08 | ID: 248
คำสั่ง WITH CUBE จะเป็นการหาผลรวมโดยขึ้นกับคอลัมน์ที่ประกาศไว้หลังคำสั่ง GROUP BY Ex. SELECT ProductID, SUM(Quantity) AS 'Total' FROM Product WHERE ProductID BETWEEN 900 AND 910 GROUP BY Product WITH CUBE WITH CUBE จะหาผลรวม ของผลรวมของแต่ละแถวอีกที จากตัวอย่าง จะเป็นการหาผลรวมตามกลุ่มของสินค้าด้วย GROUP BY ProductID จากนั้น สรุปผลรวมทั้งหมดที่ได้ด้วย WITH CUBE เป็นต้น
Post by Goborijung at 2019-12-06 16:29:49 | ID: 228
SELECT Description , POQty, unitCost, Amount=(POQty*UnitCost) FROM TM_PO WHERE POQty BETWEEN 5 AND 10
Post by Goborijung at 2020-12-21 09:38:47 | ID: 219
SELECT column_name INTO #new_table_temp FROM table_name Ex. SELECT col1,col2 INTO #TM_Test FROM Product