You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
sql-tools/Import/鼎剪3/盛传.sql

544 lines
17 KiB

use taiyuan_yihao
drop table TImpMember
drop table TImpMemberCard
SELECT COUNT(1) FROM TImpMemberCard
SELECT COUNT(1) FROM TImpMember
SELECT * FROM TImpMember
SELECT * FROM TImpMemberCard
UPDATE TImpMember SET = , = ,=
where like '%次%'
SELECT * FROM TImpMember where like '%次%'
SELECT MemId,SUM(1)
FROM TImpMemberCard
GROUP BY MemId
HAVING(SUM(1)) > 1
DROP TABLE TImpCardType
CREATE TABLE TImpCardType
(
FId BIGINT,
FNo VARCHAR(50),
FName VARCHAR(50),
FType VARCHAR(50),
FValueType INT
)
ALTER TABLE TImpMemberCard ADD FCardTypeName VARCHAR(100)
ALTER TABLE TImpMember ADD FMemId BIGINT
ALTER TABLE TImpMemberCard ADD FMemId BIGINT
ALTER TABLE TImpMemberCard ADD FCardNo VARCHAR(50)
ALTER TABLE TImpMember ADD FMemNo VARCHAR(50)
ALTER TABLE TImpMember ADD FName VARCHAR(50)
ALTER TABLE TImpMember ADD FGender INT
ALTER TABLE TImpMember ADD FMobile VARCHAR(50)
ALTER TABLE TImpMember ADD FCreateDate DATETIME
ALTER TABLE TImpMemberCard ADD FCardTypeId BIGINT
ALTER TABLE TImpMemberCard ADD FCourseId BIGINT
ALTER TABLE TImpMemberCard ADD FBalance DECIMAL(18,6)
ALTER TABLE TImpMemberCard ADD FBalance2 DECIMAL(18,6)
ALTER TABLE TImpMemberCard ADD FRemainTimes INT
ALTER TABLE TImpMemberCard ADD FPurTimes INT
ALTER TABLE TImpMemberCard ADD FPurAmount DECIMAL(18,6)
ALTER TABLE TImpMemberCard ADD FItemId BIGINT
ALTER TABLE TImpMemberCard ADD FCreateDate DATETIME
ALTER TABLE TImpMemberCard ADD FExpiredDate DATETIME
ALTER TABLE TImpMember ADD FCompId BIGINT
ALTER TABLE TImpMemberCard ADD FCompId BIGINT
ALTER TABLE TImpMemberCard ADD FCardId BIGINT
ALTER TABLE TImpMember ADD FMemo VARCHAR(1000)
ALTER TABLE TImpMemberCard ADD FMemo VARCHAR(1000)
ALTER TABLE TImpMember ADD FArrear DECIMAL(18,6)
ALTER TABLE TImpMember ADD FPoint DECIMAL(18,6)
ALTER TABLE TImpMember ADD FBirthday DATETIME
ALTER TABLE TImpMember ADD FBirthdayType CHAR
ALTER TABLE TImpMember ADD FCustom1 VARCHAR(100)
ALTER TABLE TImpMember ADD FPointText VARCHAR(100)
ALTER TABLE TImpMemberCoursePack ADD FCardTypeId BIGINT
ALTER TABLE TImpMemberCoursePack ADD FItemId BIGINT
ALTER TABLE TImpMemberCoursePack ADD FRemainTimes INT
ALTER TABLE TImpMemberCoursePack ADD FPurTimes INT
ALTER TABLE TImpMemberCoursePack ADD FUsedTimes INT
ALTER TABLE TImpMemberCoursePack ADD FPurAmount DECIMAL(18,6)
ALTER TABLE TImpMemberCoursePack ADD FCreateDate DATETIME
ALTER TABLE TImpMemberCoursePack ADD FExpiredDate DATETIME
ALTER TABLE TImpMemberCoursePack ADD FCompId BIGINT
ALTER TABLE TImpMemberCoursePack ADD FCardId BIGINT
ALTER TABLE TImpMemberCoursePack ADD FMemId BIGINT
ALTER TABLE TImpMemberCoursePack ADD FMemo VARCHAR(1000)
SELECT * FROM TImpMemberCoursePack
--初始化卡类别
UPDATE TImpMemberCard SET FCardTYpeName = + '[' + + '折]'
DELETE TImpCardType
INSERT TImpCardType(FId,FNo,FName,FValueType)
SELECT dbo.FNNewId(),FCardTYpeName,FCardTYpeName ,CASE WHEN = '计次消费' THEN 3 ELSE 1 END
FROM TImpMemberCard
WHERE IS NOT NULL
AND IS NOT NULL
GROUP BY FCardTYpeName ,
--会员ID
UPDATE TImpMember SET FMemId = MemId
UPDATE TImpMemberCard SET FMemId = MemId
--开卡日期
UPDATE TImpMember SET FCreateDate =
UPDATE A
SET A.FCreateDate = B.FCreateDate
FROM TImpMemberCard AS A,TImpMember AS B
WHERE A.MemId = B.MemId
UPDATE TImpMemberCard SET FExpiredDate =
UPDATE TImpMemberCard SET FExpiredDate = DATEADD(YEAR,100,FCreateDate) WHERE FExpiredDate = '1900-01-01'
--处理卡号
UPDATE TImpMemberCard SET FCardNo =
--处理重复卡号
DROP TABLE #Card
SELECT FCardNo into #Card
FROM TImpMemberCard
GROUP BY FCardNo
HAVING(SUM(1)) > 1
ALTER TABLE TImpMemberCard ADD FSeq INT IDENTITY
ALTER TABLE TImpMemberCard ADD FIndex INT
UPDATE A
SET A.FIndex = 1+(SELECT COUNT(1) FROM TImpMemberCard AS B WHERE A.FCardNo = B.FCardNo AND (A.FCreateDate > B.FCreateDate OR (A.FCreateDate = B.FCreateDate AND (A.FSeq > B.FSeq) )))
FROM TImpMemberCard AS A
SELECT * FROM TImpMemberCard WHERE FCardNo IN(SELECT FCardNO FROM #Card)
AND FIndex > 0
order by FCardNo
--删除完全一样的
DELETE A
FROM TImpMemberCard AS A,
(
SELECT MemId,CardId,MIN(FSeq) AS FSeq
FROM TImpMemberCard
WHERE FCardNO iN(SELECT FCardNo FROM #Card)
GROUP BY MemId,CardId
HAVING(SUM(1)>1)
) AS B
WHERE A.MemId = B.MemId
AND A.CardId = B.CardId
AND A.FSeq = B.FSeq
UPDATE TImpMemberCard SET FCardNo = FCardNo + '.' + CAST(FIndex AS VARCHAR)
WHERE FCardNo IN( SELECT FCardNo FROM #Card)
AND FIndex > 1
/*
UPDATE A
SET A.FCardNo = B.FCardNo
FROM TImpMemberCard AS A,TImpMemberCard AS B
WHERE A.FMemId = B.FMemId
AND A.FIndex > 1
AND B.FIndex = 1
*/
SELECT FCardNo,SUM(1) AS Cnt FROM TImpMemberCard
GROUP BY FCardNo
ORDER BY SUM(1) DESC
SELECT FMemNo,FMobile,SUM(1) AS Cnt FROM TImpMember
GROUP BY FMemNo ,FMobile
ORDER BY SUM(1) DESC
SELECT FMemNo,SUM(1) AS Cnt FROM TImpMember
WHERE FMemId IN(SELECT FMemId FROM TImpMemberCard)
GROUP BY FMemNo
ORDER BY SUM(1) DESC
SELECT * FROM TImpMember WHERE FMemNo = '15103405980'
SELECT * FROM TImpMemberCard WHERE FMemId = '45294303'
UPDATE TImpMemberCard SET FCardId = CardId
UPDATE TImpMemberCard SET FCardId = dbo.FNNewId() WHERE FCardId IS NULL
--会员编号
UPDATE A
SET A.FMemNo = B.FCardNo
FROM TImpMember AS A,TImpMemberCard AS B
WHERE A.MemId = B.MemId
UPDATE TImpMember SET FMemNo = WHERE ISNULL(FMemNo,'') = ''
UPDATE TImpMember SET FName =
UPDATE TImpMember SET FMobile =
UPDATE TImpMember SET FGender = CASE WHEN = '' THEN 1 ELSE '0' END
UPDATE TImpMember SET FArrear = 0
UPDATE TImpMember SET FMemo = FMemo
UPDATE TImpMember SET FPointText = replace(replace(replace(replace(,'',''),char(10),''),char(13),''),' ','')
UPDATE TImpMember SET FPoint = CAST(FPointText AS FLOAT)
SELECT * FROM TImpMember where like '%次%'
--门店
UPDATE TImpMember SET FCompId = dbo.FNCompId('001')
UPDATE TImpMemberCard SET FCompId = dbo.FNCompId('001')
SELECT * FROM TImpMember WHERE FCardTypeID IS NULL
UPDATE A
SET A.FCardTypeId = B.FId
FROM TImpMemberCard AS A,TImpCardType AS B
WHERE A.FCardTypeName= B.FName
UPDATE TImpMember SET FBirthdayType = 'G'
UPDATE TImpMember SET FBirthdayType = 'L' WHERE LIKE '%农历%'
UPDATE TImpMember SET FBirthday = REPLACE(REPLACE( , '农历','9999-') , '阳历','9999-')
SELECT * FROM TImpMemberCard WHERE FMemo IS NULL
SELECT * FROM TImpMemberCard WHERE CardId = 242037327
--门店
UPDATE TImpMember SET FCompId = 4700258612397082011
SELECT * FROM
--
SELECT * FROM TImpMemberCard WHERE CardId NOT IN(SELECT CardId FROM TImpTransHist)
SELECT FRemainTimes FROM TImpMemberCard WHERE FRemainTimes > 0
UPDATE TImpMemberCard SET FRemainTimes = REPLACE(SUBSTRING(,CHARINDEX('余:',) + 2,LEN()),'','')
FROM TImpMember WHERE = '计次消费'
SELECT * FROM TImpMemberCard WHERE not in( '计次消费')
UPDATE TImpMemberCard SET FBalance = CAST(
REPLACE( REPLACE(REPLACE(REPLACE(LEFT(,CHARINDEX('',)),'',''),' ','') ,char(10),''),' ','')
AS float)
WHERE IS NOT NULL
SELECT FROM TImpMemberCard
--处理赠送余额
ALTER TABLE TImpMemberCard ADD FBalance2Text VARCHAR(10)
UPDATE TImpMemberCard SET FBalance2Text = CAST(REPLACE( REPLACE(REPLACE(REPLACE(LEFT(,CHARINDEX('',) + 3),'',''),' ','') ,char(10),''),' ','')
AS varchar)
select * from TImpMemberCard WHERE FBalance2Text != '0'
UPDATE TImpMemberCard SET FBalance2 = CAST(REPLACE( REPLACE(REPLACE(REPLACE(LEFT(,CHARINDEX('',) + 3),'',''),' ','') ,char(10),''),' ','')
AS float)
--WHERE 赠送余额 NOT LIKE '%套餐%'
----------
SELECT SUM(CAST(REPLACE( REPLACE(REPLACE(REPLACE(LEFT(,CHARINDEX('',) + 3),'',''),' ','') ,char(10),''),' ','')
AS float) ) FROM TImpMemberCard
--
UPDATE TImpMember SET FMemno = 'JY' + FMemNO,FCardNo = 'JY' + FCardnO
SELECT * FROM TImpMember WHERE FMemno = '10839'
delete TMemberCardType WHERE FId > 100
INSERT INTO TMemberCardType(FId,FNo,FName,FValueType,FMaterial,FPrice,FCardFeeAmt,FAcctId,FDeposit,FAcctId2,FDeposit2,FAcctId3,FDeposit3,FTimes,FAlertBalance,FMinRchgAmt,FSalePointMode,FSalePointValue,FRchgPointMode,FRchgPointValue,FPaySmsFee,FTimeCard,FValidityPeriod,FValidityPeriodUnit,FExpiredDate,FDefaultMemo,FCreateTime,FAllowSale,FAllowRchg,FDeptId,FEnabled,FOrder)
SELECT FId ,FNo,FName,FValueType,2,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
FROM TImpCardType
ORDER BY FNo
UPDATE TMemberCardType SET FAllowRchg = 1 WHERE FId IN(SELECT FId FROM TImpCardType)
UPDATE TMemberCardType SET FAllowSale = 1 WHERE FId IN(SELECT FId FROM TImpCardType)
UPDATE TMemberCardType SET FEnabled = 1 WHERE FId IN(SELECT FId FROM TImpCardType)
UPDATE TMemberCardType SET FValidityPeriod = 100,FValidityPeriodUnit = 1 WHERE FId IN(SELECT FId FROM TImpCardType)
INSERT INTO TMemberCardTypeSub(FId,FCompId,FCardTypeId,FAllowSale,FAllowRchg,FEnabled)
SELECT dbo.FNNewId(),C.FId,I.FId,FAllowSale,FAllowRchg,FEnabled
FROM TMemberCardType AS I,TCompany AS C
WHERE I. FId IN(SELECT FId FROM TImpCardType)
AND C.FId = dbo.FNCompId('001')
AND NOT EXISTS(SELECT TOP 1 1 FROM TMemberCardTypeSub AS B WHERE B.FCompId = C.FId AND B.FCardTypeId = I.FId)
DELETE TImpCardType WHERE FId = 7976813579673386319
DELETE TImpCardType WHERE FId = 9112300963023479389
SELECT * FROM TImpMember WHERE = '完美剪发年卡'
SELECT * FROM TImpMember WHERE = ''
SELECT * FROM TImpCardType WHERE FNo = '完美剪发年卡'
UPDATE TImpMember SET = '未知' WHERE = ''
UPDATE TImpCardType SET FNo = '未知' ,FName = '未知' WHERE FNo = ''
UPDATE TMemberCardType SET FMaterial = 2
SELECT * FROM TMemberCardType
UPDATE A
SET A.FValueType = 3
FROM TMemberCardType AS A,TImpCardType AS B
WHERE A.FId = B.FId
--套餐
SELECT * FROM TImpMemberCoursePack
UPDATE TImpMemberCoursePack SET FCardId = dbo.FNNewId() WHERE FCardId IS NULL
UPDATE TImpMemberCoursePack SET FExpiredDate = NULL
UPDATE TImpMemberCoursePack SET FExpiredDate = WHERE != ''
UPDATE TImpMemberCoursePack SET FMemo = ''
UPDATE A
SET A.FItemId = B.FItemId,
A.FCardTypeId = B.FId
FROM TImpMemberCoursePack AS A,TCourse AS B
WHERE A. = B.FName
UPDATE TImpMemberCoursePack SET FRemainTimes =
UPDATE TImpMemberCoursePack SET FPurTimes = REPLACE(,'','')
UPDATE TImpMemberCoursePack SET FPurAmount =
UPDATE TImpMemberCoursePack SET FUsedTimes = FPurTimes - FRemainTimes
UPDATE A
SET A.FCreateDate = B.FCreateDate,
A.FMemId = B.FMemId
FROM TImpMemberCoursePack AS A,TImpMemberCard AS B
WHERE A.CardId = B.CardId
SELECT * FROM TImpMemberCoursePack WHERE FCardTYPEID IS NULL
UPDATE TImpMemberCoursePack SET FCompId = dbo.FNCompId('001')
DROP TABLE TImpMemberCoursePack
INSERT INTO TMember(
FMemId,
FMemNo,
FName,
FBriefCode,
FTypeId,
FCompId,
FCreateDate,
FGender,
FBirthdayType,
FBirthday,FTelephone,FMobilePhone,FQQ,FWeChat,FIdCard,FEmail,FAddress,FProId,FCPW,FQPW,
FChargeEmpId,FPoint,FRecvConsSMS,FRecvBulkSMS,FMemo,FCustom1,FCustom2,FCustom3,FCustom4,FCustom5)
SELECT FMemId AS FMemId,
FMemNo AS FMemNo,
FName AS FName,
dbo.FNGetFirstPinYin(FName),
0 AS FTypeId,
FCompId AS FCompId,
ISNULL(FCreateDate ,'1900-01-01') AS FCreateDate,
FGender AS FGender,
FBirthdayType AS FBirthdayType,
FBirthday AS FBirthday,
'' AS FTelephone,
ISNULL(FMobile,'') AS FMobilePhone,
'' AS FQQ,
'' AS FWeChat,
'' AS FIdCard,
'' AS FEmail,
'' AS FAddress,
0 AS FProId,
'' AS FCPW,
'' AS FQPW,
0 AS FChargeEmpId,
ISNULL( FPoint,0) AS FPoint,
1 AS FRecvConsSMS,
1 AS FRecvBulkSMS,
ISNULL('','') AS FMemo,
'' AS FCustom1,'' AS FCustom2,'' AS FCustom3,'' AS FCustom4,'' AS FCustom5
from TImpMember
WHERE FMemId IN(SELECT FMemId FROM TImpMemberCard)
/*
SELECT * FROM TImpMember
WHERE FMemId IN(
SELECT FMemId,FMemNo,FName,FMobile,FGender,FCompId ,FBirthdayType ,FBirthday,FCreateDate,FPoint
INTO #Temp
FROM TImpMember
GROUP BY FMemId,FMemNo,FName,FMobile,FGender,FCompId ,FBirthdayType ,FBirthday,FCreateDate,FPoint
ORDER BY SUM(1) DESC
)
SELECT FMemId
FROM #Temp
GROUP BY FMemId
HAVING(SUM(1)) > 1
SELECT * FROM TImpmEMBER WHERE FMemId = 25006217
UPDATE TImpMember SET FMemNo = '0000330' WHERE FMemId = 25463627
UPDATE TImpMember SET FMemNo = '0000055' WHERE FMemId = 25006217
*/
INSERT INTO TMemberCard(
FCardId,
FCardNo,
FCardFaceNo,
FTypeId,
FValueType,
FCompId,
FMemId,
FState,
FCreateDate,
FExpiredDate,
FTotalTimes,
FUsedTimes,
FSaleCompId,
FSaleBillId,
FMemo)
SELECT
FCardId AS FId,
FCardNo AS FNo,
FCardNo AS FFaceNo,
FCardTypeId AS FTypeId,
(SELECT FValueType FROM TMemberCardType WHERE FId = FCardTypeId) AS FValueType,
FCompId AS FCompId,
FMemId AS FMemId,
1 AS FState,
FCreateDate AS FCreateDate,
FExpiredDate AS FExpiredDate,
ISNULL(FRemainTimes,0) AS FTotalTimes,
0 AS FUsedTimes,
FCompId AS FSaleCompId,
0 AS FSaleBillId,
ISNULL(FMemo,'') AS FMemo
FROM TImpMemberCard
WHERE FCardTypeName IS NOT NULL
SELECT * FROM TImpMemberCard WHERE FMemo IS NULL
WHERE CardNo IS NOT NULL
INSERT TMemberCardAccount(FMemId,FId,FCardId,FAcctId,FDeposit,FBalance,FArrear,FCreateDate,FExpiredDate,FMemo)
SELECT FMemId,dbo.FNNewId(),FCardId AS FCardId,3,FBalance,FBalance,0,FCreateDate,NULL AS FExpiredDate,''
FROM TImpMemberCard AS A
INSERT TMemberCardAcctHist(FId,FMemId,FCardId,FAcctId,FTime,FCardTypeId,FCompId,FBillType,FBizType,FTransId,FTransNo,FInAmount,FOutAmount,FBalance,FArrear,FRecordTime,FMemo)
select dbo.FNNewId(),A.FMemId,A.FCardId,3,getdate(),A.FCardTypeId,A.FCompId,'DR','Import',0,'',A.FBalance,0,A.FBalance,0,getdate(),'从盛传中导入'
FROM TImpMemberCard AS A
INSERT TMemberCardAccount(FMemId,FId,FCardId,FAcctId,FDeposit,FBalance,FArrear,FCreateDate,FExpiredDate,FMemo)
SELECT FMemId,dbo.FNNewId(),FCardId AS FCardId,10,FBalance2,FBalance2,0,FCreateDate,NULL AS FExpiredDate,''
FROM TImpMemberCard AS A
WHERE FBalance2 != 0
INSERT TMemberCardAcctHist(FId,FMemId,FCardId,FAcctId,FTime,FCardTypeId,FCompId,FBillType,FBizType,FTransId,FTransNo,FInAmount,FOutAmount,FBalance,FArrear,FRecordTime,FMemo)
select dbo.FNNewId(),A.FMemId,A.FCardId,10,getdate(),A.FCardTypeId,A.FCompId,'DR','Import',0,'',A.FBalance2,0,A.FBalance2,0,getdate(),'从盛传中导入'
FROM TImpMemberCard AS A
WHERE FBalance2 != 0
--疗程
INSERT TMemberCourse(FId,FMemId,FCourseId,FMemPackId,FItemId,FCompId,FPurTimes,FUsedPurTimes,FPurAmount,FFreeTimes,FFreeAmount,FPurchaseDate,FExpiredDate,FBizType,FTransId,FArrear,FDurable,FMemo,FCalcMode,FAdjustPrice)
SELECT FCardId,FMemId,FCardTypeId,0,FItemId,FCompId,FPurTimes,FPurTimes-FRemainTimes,FPurAmount,0,0,FCreateDate,FExpiredDate,'DR.Import',0,0,0,'从盛传中导入',1,0
FROM TImpMemberCoursePack AS A
INSERT INTO TMemberCourseLog(FId,FMemId,FCardId,FPackId,FCourseId,FTime,FInPurTimes,FInFreeTimes,FOutPurTimes,FOutFreeTimes,FCompId,FBillType,FBizType,FBillId,FBillNo,FBillDetailId,FRecordTime)
SELECT dbo.FNNewId(),FMemId,A.FCardId AS FCardId,0, ISNULL(FCardTypeId,0),getdate(),FPurTimes,0,FPurTimes-FRemainTimes,0,FCompId,'DR','Import',0,'',0,getdate()
FROM TImpMemberCoursePack AS A
SELECT * FROM TImpMember WHERE FBalance2!= 0
SELECT * FROM TImpMember AS A
WHERE FBalance2 != 0
SELECT * FROM TImpTransHist
ALTER TABLE TImpTransHist ADD FCompId BIGINT
ALTER TABLE TImpTransHist ADD FTime DATETIME
UPDATE TImpTransHIst SET FtIME = REPLACE(Time,'消费日期:','')
UPDATE TImpTransHist SET FCompID = DBO.FNCompId('001')
UPDATE
SELECT COUNT(1) FROM TImpMemberCard
WHERE CardID NOT IN(
SELECT CardId FROM TImpTransHist )
UPDATE TMemberCardType SET FExpiredDate = null
INSERT TMemberOldTransHist(FId,FCompId,FMemId,FTime,FCardId,FBIllType,FBizType,FTransNo,FCOntent,FPrice,FQuantity,FAmount,FPayment,Femployee,FMemo)
SELECT dbo.FNNewId(),FCompId,MemId,FTime,CardId,'',BizType,BillNo,
ISNULL(Content,''),0,1,0,Amount,Employee, Memo AS FMemo
FROM TImpTransHist
WHERE FMemId IS NOT NULL
AND FMemId IN(SELECT FMemId FROM TImpMember3)
SELECT * FROM TCompany
SELECT * FROM TMemberCard WHERE FMemo != ''
SELECT * FROM TImpMember where isnull(FMemo,'') != ''
ALTER TABLE TImpMember ADD ShopId