<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Mệnh đề PIVOT trong SQL Server</title>
<meta name="description" content="Mệnh đề PIVOT trong SQL Server - Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;menh-de-pivot-trong-sql-server-7330.html">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Mệnh đề PIVOT trong SQL Server">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;menh-de-pivot-trong-sql-server-7330.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/menh-de-pivot-trong-sql-server-7330.html">
<link rel="shortcut icon" href="https://nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/menh-de-pivot-trong-sql-server-7330.html">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://nguoicodonvn2008.info/">https://nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Mệnh đề PIVOT trong SQL Server</h1>
		<ul class="list-inline">
			<li>Thứ ba - 25/07/2023 10:01</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Mệnh đề PIVOT trong SQL Server" src="https://st.quantrimang.com/photos/image/2023/04/24/sql-server-pivot-2.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;"><strong>Pivot SQL Server</strong>&nbsp;là gì?&nbsp;<strong>Cách dùng pivot trong SQL Server</strong>&nbsp;như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!</p>

<p style="text-align: justify;">Nếu đang nghiên cứu về lập trình ứng dụng và quản lý cơ sở dữ liệu, ắt hẳn bạn đã từng nghe tới SQL Server. Đây là kiến thức cơ bản mà bạn cần nắm khi muốn phát triển trong ngành lập trình.</p>

<p style="text-align: justify;">Học cách sử dụng SQL Server không khó. Tương tự như ngôn ngữ lập trình khác, nó cũng bao gồm nhiều toán tử khác nhau và hàm Pivot trong SQL Server nhất định bạn phải biết.</p>

<p style="text-align: justify;">Bài viết dưới đây sẽ cung cấp cho bạn kiến thức cơ bản về cách dùng toán tử PIVOT in SQL Server. Toán tử PIVOT giống như các toán tử quan hệ mà cho phép chuyển đổi biểu thức có giá trị trong bảng vào bảng khác. Thực tế, cả toán tử PIVOT và UNPIVOT đều tạo báo cáo đa chiều, giúp kết hợp và so sánh một số lượng lớn dữ liệu thật nhanh.</p>

<p style="text-align: justify;">Bạn có thể dùng toán tử PIVOT khi cần chuyển đổi biểu thức giá trị bảng. Nó tách các giá trị duy nhất từ một cột thành nhiều cột trong kết quả cuối cùng. Nó cũng tổng hợp các giá trị cột còn lại trong kết quả cuối cùng. Giờ hãy cùng nhau đi sâu vào tìm hiểu chi tiết hơn nhé!</p>

<p style="text-align: justify;">Trong&nbsp;SQL Server&nbsp;(Transact-SQL), mệnh đề PIVOT cho phép phân tích bảng chéo (cross tabulation) chuyển dữ liệu từ bảng này sang bảng khác, tức là lấy kết quả tổng hợp rồi chuyển từ dòng thành cột.</p>

<figure>
<div style="text-align: justify;"><img alt="Ví dụ tính tổng rồi chuyền hàng thành cột trong bảng dữ liệu" data-i="0" data-src="https://st.quantrimang.com/photos/image/2021/07/07/pivot-sql-server.png" data-was-processed="true" height="191" src="https://st.quantrimang.com/photos/image/2021/07/07/pivot-sql-server.png" width="886" /></div>

<figcaption>
<div style="text-align: justify;">Ví dụ tính tổng rồi chuyền hàng thành cột trong bảng dữ liệu</div>
</figcaption>
</figure>

<h3 style="text-align: justify;">Cú pháp mệnh đề PIVOT</h3>

<pre id="pre0" style="text-align: justify;">
SELECT cot_dautien AS &lt;bidanh_cot_dautien&gt;,
&#91;giatri_chuyen1&#93;, &#91;giatri_chuyen2&#93;, … &#91;giatri_chuyen_n&#93;
FROM
(&lt;bang_nguon&gt;) AS &lt;bidanh_bang_nguon&gt;
PIVOT
(
ham_tong (&lt;cot_tong&gt;)
FOR &lt;cot_chuyen&gt;
IN (&#91;giatri_chuyen1&#93;, &#91;giatri_chuyen2&#93;, … &#91;giatri_chuyen_n&#93;)
) AS &lt;bidanh_bang_chuyen&gt;;</pre>

<h3 style="text-align: justify;">Tên biến hoặc giá trị biến</h3>

<p style="text-align: justify;"><strong>cot_dautien:&nbsp;</strong>Cột hoặc biểu thức sẽ thành cột đầu tiên trong bảng mới sau khi chuyển.</p>

<p style="text-align: justify;"><strong>bidanh_cot_dautien:&nbsp;</strong>Tên của cột đầu tiên trong bảng mới sau khi chuyển.</p>

<p style="text-align: justify;"><strong>giatri_chuyen1, giatri_chuyen2, … giatri_chuyen_n:&nbsp;</strong>Danh sách các giá trị cần chuyển.</p>

<p style="text-align: justify;"><strong>bang_nguon:&nbsp;</strong>Lệnh&nbsp;<a href="https://quantrimang.com/hoc/lenh-select-trong-sql-server-147319" title="Lệnh SELECT trong SQL Server ">SELECT</a>&nbsp;đưa dữ liệu nguồn (dữ liệu ban đầu) vào bảng mới.</p>

<p style="text-align: justify;"><strong>bidanh_bang_nguon:&nbsp;</strong>Bí danh của bang_nguon</p>

<p style="text-align: justify;"><strong>ham_tong:&nbsp;</strong>Hàm tính tổng như<a href="https://quantrimang.com/hoc/ham-sum-trong-sql-server-161888" title="Hàm SUM trong SQL Server">&nbsp;SUM trong SQL Server</a>, COUNT, MIN, MAX hay AVG.</p>

<p style="text-align: justify;"><strong>cot_tong:&nbsp;</strong>Cột hoặc biểu thức được dùng với ham_tong.</p>

<p style="text-align: justify;"><strong>cot_chuyen:&nbsp;</strong>Cột chứa giá trị cần chuyển.</p>

<p style="text-align: justify;"><strong>bidanh_bang_chuyen:&nbsp;</strong>Bí danh của bảng sau khi chuyển.</p>

<p style="text-align: justify;">Mệnh đề PIVOT có thể dùng trong các phiên bản sau của SQL Server: SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.</p>

<p style="text-align: justify;">Để thực hiện theo các bước trong hướng dẫn, hãy xem phần DDL để tạo bảng và DML để tạo dữ liệu ở cuối bài viết này rồi thử chạy trên chính cơ sở dữ liệu của bạn.</p>

<h3 style="text-align: justify;">Ví dụ với mệnh đề PIVOT</h3>

<p style="text-align: justify;">Ta có bảng nhanvien với các dữ liệu như dưới đây.</p>

<table border="1">
	<tbody>
		<tr>
			<td style="text-align: justify;"><strong>so_nhanvien</strong></td>
			<td style="text-align: justify;"><strong>ho</strong></td>
			<td style="text-align: justify;"><strong>ten</strong></td>
			<td style="text-align: justify;"><strong>luong</strong></td>
			<td style="text-align: justify;"><strong>id_phong</strong></td>
		</tr>
		<tr>
			<td style="text-align: justify;">12009</td>
			<td style="text-align: justify;">Nguyen</td>
			<td style="text-align: justify;">Huong</td>
			<td style="text-align: justify;">54000</td>
			<td style="text-align: justify;">45</td>
		</tr>
		<tr>
			<td style="text-align: justify;">34974</td>
			<td style="text-align: justify;">Pham</td>
			<td style="text-align: justify;">Hoa</td>
			<td style="text-align: justify;">80000</td>
			<td style="text-align: justify;">45</td>
		</tr>
		<tr>
			<td style="text-align: justify;">34987</td>
			<td style="text-align: justify;">Phan</td>
			<td style="text-align: justify;">Lan</td>
			<td style="text-align: justify;">42000</td>
			<td style="text-align: justify;">45</td>
		</tr>
		<tr>
			<td style="text-align: justify;">45001</td>
			<td style="text-align: justify;">Tran</td>
			<td style="text-align: justify;">Hua</td>
			<td style="text-align: justify;">57500</td>
			<td style="text-align: justify;">30</td>
		</tr>
		<tr>
			<td style="text-align: justify;">75623</td>
			<td style="text-align: justify;">Vu</td>
			<td style="text-align: justify;">Hong</td>
			<td style="text-align: justify;">65000</td>
			<td style="text-align: justify;">30</td>
		</tr>
	</tbody>
</table>

<p style="text-align: justify;">Chạy lệnh SQL dưới đây để tạo truy vấn chéo bằng mệnh đề PIVOT.</p>

<pre id="pre1" style="text-align: justify;">
SELECT ‘TongLuong’ AS TongLuongTheoPhong,
&#91;30&#93;, &#91;45&#93;
FROM
(SELECT id_phong, luong
FROM nhanvien) AS BangNguon
PIVOT
(
SUM(luong)
FOR id_phong IN (&#91;30&#93;, &#91;45&#93;)
) AS BangChuyen;</pre>

<p style="text-align: justify;">Kết quả trả về sẽ như dưới đây.</p>

<table border="1">
	<tbody>
		<tr>
			<td style="text-align: justify;"><strong>TongLuongTheoPhong</strong></td>
			<td style="text-align: justify;"><strong>30</strong></td>
			<td style="text-align: justify;"><strong>45</strong></td>
		</tr>
		<tr>
			<td style="text-align: justify;">TongLuong</td>
			<td style="text-align: justify;">122500</td>
			<td style="text-align: justify;">176000</td>
		</tr>
	</tbody>
</table>

<p style="text-align: justify;">Ví dụ trên tạo một bảng sau khi đã chuyển dữ liệu, cho biết tổng lương của phòng có ID là 30 và phòng có ID là 45. Kết quả nằm trên 1 hàng với 2 cột, mỗi cột là 1 phòng.</p>

<p style="text-align: justify;"><strong>Xác định cụ thể cột trong bảng mới của truy vấn chéo</strong></p>

<p style="text-align: justify;">Trước tiên cần xác định trường thông tin nào muốn đưa vào bảng chuyển. Ở ví dụ này là TongLuong làm cột đầu tiên, sau đó là 2 cột id_phong 30 và id_phong 45.</p>

<pre id="pre2" style="text-align: justify;">
SELECT “TongLuong’ AS TongLuongTheoPhong,
&#91;30&#93;, &#91;45&#93;</pre>

<p style="text-align: justify;"><strong>Xác định dữ liệu trong bảng nguồn</strong></p>

<p style="text-align: justify;">Tiếp theo là xác định lệnh SELECT sẽ trả về dữ liệu nguồn cho bảng mới.</p>

<p style="text-align: justify;">Ở ví dụ này là id_phong và luong từ bảng nhanvien.</p>

<pre id="pre3" style="text-align: justify;">
(SELECT id_phong, luong
FROM nhanvien) AS BangNguon</pre>

<p style="text-align: justify;">Cần chỉ ra bí danh cho truy vấn nguồn, trong ví dụ này là BangNguon.</p>

<p style="text-align: justify;"><strong>Xác định hàm tính tổng</strong></p>

<p style="text-align: justify;">Hàm có thể dùng trong truy vấn chéo gồm SUM, COUNT, MIN, MAX và AVG. Ở ví dụ này là hàm tính tổng SUM.</p>

<pre id="pre4" style="text-align: justify;">
PIVOT
(SUM(luong)</pre>

<p style="text-align: justify;"><strong>Xác định giá trị cần chuyển</strong></p>

<p style="text-align: justify;">Cuối cùng là giá trị cần chuyển để đưa vào kết quả. Đây sẽ là tiêu đề cột trong truy vấn chéo.</p>

<p style="text-align: justify;">Ở ví dụ này, chúng ta chỉ cần trả về id_phòng 30 và 45. Các giá trị này sẽ là tên cột trong bảng mới. Cần nhớ là những giá trị này là danh sách có giới hạn của các giá trị id_phong và không nhất thiết phải chứa tất cả các giá trị.</p>

<pre id="pre5" style="text-align: justify;">
FOR id_phong IN (&#91;30&#93;, &#91;45&#93;)</pre>

<h3 style="text-align: justify;">DDL/DML cho các ví dụ</h3>

<p style="text-align: justify;">Nếu có CSDL và muốn làm thử những ví dụ trong hướng dẫn dùng lệnh PIVOT trên, bạn sẽ cần có DDL/DML.</p>

<p style="text-align: justify;"><strong>DDL - Data Definition Language</strong>&nbsp;là các lệnh tạo bảng (<a href="https://quantrimang.com/hoc/lenh-create-table-trong-sql-server-148145" title="Lệnh CREATE TABLE trong SQL Server ">CREATE TABLE</a>) để dùng trong ví dụ về mệnh đề PIVOT.</p>

<pre id="pre6" style="text-align: justify;">
CREATE TABLE phong
( id_phong INT NOT NULL, 
ten_phong VARCHAR(50) NOT NULL, 
CONSTRAINT pk_phong PRIMARY KEY (id_phong)
) ;

CREATE TABLE nhanvien
( so_nhanvien INT NOT NULL, 
ho VARCHAR(50) NOT NULL, 
ten VARCHAR(50) NOT NULL, 
luong INT, 
id_phong INT,
CONSTRAINT pk_nhanvien PRIMARY KEY (so_nhanvien)
) ;</pre>

<p style="text-align: justify;"><strong>DML - Data Manipulation Language</strong>&nbsp;là các lệnh&nbsp;<a href="https://quantrimang.com/hoc/lenh-insert-trong-sql-server-147786" title="Lệnh INSERT trong SQL Server ">INSERT</a>&nbsp;để tạo dữ liệu cần thiết cho bảng.</p>

<pre id="pre7" style="text-align: justify;">
INSERT INTO phong
(id_phong, ten_phong)
VALUES 
(30, ‘Ketoan’);

INSERT INTO phong
(id_phong, ten_phong)
VALUES
(45, ‘Banhang’);

INSERT INTO nhanvien
(so_nhanvien, ho, ten, luong, id_phong)
VALUES 
(12009, ‘Nguyen’, ‘Huong’, 54000, 45);

INSERT INTO nhanvien
(so_nhanvien, ho, ten, luong, id_phong)
VALUES
(34974, ‘Pham’, ‘Hoa’, 80000, 45);

INSERT INTO nhanvien
(so_nhanvien, ho, ten, luong, id_phong)
VALUES
(34987, ‘Phan’, ‘Lan’, 42000, 45);

INSERT INTO nhanvien
(so_nhanvien, ho, ten, luong, id_phong)
VALUES 
45001, ‘Tran’, ‘Hue’, 57500, 30);

INSERT INTO nhanvien
(so_nhanvien, ho, ten, luong, id_phong)
VALUES 
(75623, ‘Vu’, ‘Hong’, 65000, 30);</pre>

<h2 style="text-align: justify;">Những lỗi thường gặp khi dùng PIVOT trong SQL Server</h2>

<h3 style="text-align: justify;">PIVOT không hợp nhất nhiều hàng</h3>

<p style="text-align: justify;">Hãy xét ví dụ bên dưới. Chúng ta sẽ triển khai cả PIVOT và UNPIVOT cho bảng này và so sánh kết quả của cả hai bảng.</p>

<p style="text-align: justify;"><img alt="Ví dụ hàm Pivot" data-i="1" data-src="https://st.quantrimang.com/photos/image/2023/04/24/sql-server-pivot-1.jpg" data-was-processed="true" height="221" src="https://st.quantrimang.com/photos/image/2023/04/24/sql-server-pivot-1.jpg" width="189" /></p>

<pre id="pre8" style="text-align: justify;">
SELECT Name,&#91;Year&#93; , Sales FROM
(
   SELECT &#91;Year&#93;, Pankaj,Rahul,Sandeep FROM
   (SELECT Name, &#91;Year&#93; , Sales FROM Employee )Tab1
PIVOT
(
   SUM(Sales) FOR Name IN (Pankaj,Rahul,Sandeep)) AS Tab2
)Tab
UNPIVOT
(
   Sales FOR Name IN (Pankaj,Rahul,Sandeep)
) AS TAb2</pre>

<p style="text-align: justify;"><strong>Kết quả:</strong></p>

<p style="text-align: justify;"><img alt="Bảng kết quả sau khi dùng pivot trong sql server" data-i="2" data-src="https://st.quantrimang.com/photos/image/2023/04/24/sql-server-pivot-2.jpg" data-was-processed="true" height="184" src="https://st.quantrimang.com/photos/image/2023/04/24/sql-server-pivot-2.jpg" width="192" /></p>

<p style="text-align: justify;">Bạn có thể thấy hai bảng cho kết quả giống nhau.</p>

<p style="text-align: justify;">Như bạn thấy pivot SQL Server là một mệnh đề hữu ích trong lập trình. Nó giúp người dùng chuyển đổi dữ liệu trong bảng dễ dàng. Hi vọng bài viết giúp bạn hiểu rõ hơn về cách dùng Pivot SQL Server.</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/menh-de-pivot-trong-sql-server-7330.html" title="Mệnh đề PIVOT trong SQL Server">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/menh-de-pivot-trong-sql-server-7330.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://nguoicodonvn2008.info",
            "logo": "https://nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>