chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
@@ -0,0 +1,68 @@
-- =====================================================
-- 初始化 SignUp 表的序號 (SeqNo)
-- 用途:為現有的參加人員記錄補充序號
-- 說明:按活動(CourseID)和ID排序,為每個活動內的參加人員自動編號
-- =====================================================
-- 方式一:使用 ROW_NUMBER() - 推薦(支援 SQL Server 2005+
-- 此方式會為每個活動內的記錄按 ID 順序編號
BEGIN TRANSACTION;
UPDATE SignUp
SET SeqNo = rn.RowNum
FROM SignUp su
INNER JOIN (
SELECT
ID,
ROW_NUMBER() OVER (PARTITION BY CourseID ORDER BY ID ASC) AS RowNum
FROM SignUp
) rn ON su.ID = rn.ID
WHERE su.SeqNo = 0 OR su.SeqNo IS NULL;
-- 顯示更新結果
SELECT '序號更新完成' AS [];
SELECT CourseID, COUNT(*) AS [], MIN(SeqNo) AS [], MAX(SeqNo) AS []
FROM SignUp
WHERE SeqNo > 0
GROUP BY CourseID
ORDER BY CourseID;
COMMIT TRANSACTION;
-- =====================================================
-- 驗證結果
-- =====================================================
-- 查看更新後的資料
SELECT
ID,
CourseID,
SeqNo,
Name,
Mobile,
CheckInTime,
CheckOutTime
FROM SignUp
ORDER BY CourseID ASC, SeqNo ASC;
-- 檢查是否有未設定序號的記錄
SELECT
ID,
CourseID,
Name,
Mobile
FROM SignUp
WHERE SeqNo = 0 OR SeqNo IS NULL
ORDER BY CourseID, ID;
-- 檢查序號是否重複
SELECT
CourseID,
SeqNo,
COUNT(*) AS []
FROM SignUp
WHERE SeqNo > 0
GROUP BY CourseID, SeqNo
HAVING COUNT(*) > 1
ORDER BY CourseID, SeqNo;