Files
Client/Server/Database/DBScript/GameDB/Part2 UPDATE/ETC/ETC_길마 없는 길드 바로잡기.sql
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

48 lines
1.2 KiB
Transact-SQL

-- 마지막 수정: 파트2 1470
-- [길마가 없는 길드 바로잡기]
-- 1. 길마뿐 아니라 길드원이 없으나 존재하는 길드 검색
SELECT strGuildName FROM TblGuildInfo
WHERE nGuildID NOT IN (SELECT Distinct nGuildID FROM TblGuildMember)
-- 1-1. 해당 길드들 삭제
DELETE TblGuildInfo
WHERE nGuildID NOT IN (SELECT Distinct nGuildID FROM TblGuildMember)
-- 2. 길마가 없는 길드 검색
SELECT strGuildName FROM TblGuildInfo
WHERE nGuildID NOT IN (SELECT Distinct nGuildID FROM TblGuildMember WHERE nPosition = 1)
-- 2-1. 길마 만들어 주기 (길마 우선 순위 : 레벨 > 명성치 > 캐릭터명 > 인벤토리 금액)
DECLARE @ROW INT
DECLARE @GuildID INT
DECLARE @TABLE TABLE
(
nRowID INT IDENTITY(1,1)
, nGuildID INT
)
INSERT INTO @TABLE
SELECT nGuildID FROM TblGuildInfo
WHERE nGuildID NOT IN (SELECT Distinct nGuildID FROM TblGuildMember WHERE nPosition = 1)
SET @ROW = @@ROWCOUNT
WHILE (@ROW > 0)
BEGIN
SELECT @GuildID = nGuildID FROM @TABLE WHERE nRowID = @ROW
UPDATE TblGuildMember
SET nPosition = 1
FROM (
SELECT TOP 1 B.nGuildID,nCID FROM CharInfo A join TblGuildMember B
ON A.CID = B.nCID
WHERE nGuildID = @GuildID
ORDER BY A.Level desc,A.Fame desc) C,TblGuildMember D
WHERE C.nGuildID = D.nGuildID AND C.nCID = D.nCID
SET @ROW = @ROW - 1
END