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.
72 lines
1.5 KiB
72 lines
1.5 KiB
|
|
UPDATE A
|
|
SET A.FCompId = B.FCompId
|
|
FROM TMemberCard AS A,_xiu..TMemberCard AS B
|
|
WHERE A.FCardId = B.FCardId
|
|
AND A.FCompId != B.FCompId
|
|
|
|
|
|
SELECT * FROM TCompany
|
|
|
|
DROP TABLE #Company
|
|
CREATE TABLE #Company
|
|
(
|
|
FCompId BIGINT,
|
|
FCompNo VARCHAR(10)
|
|
)
|
|
|
|
INSERT #Company
|
|
SELECT FId,FNo FROM TCompany
|
|
WHERE FNo IN('002','008','009','010')
|
|
|
|
|
|
|
|
BEGIN TRAN
|
|
|
|
|
|
DECLARE @CardId BIGINT
|
|
DECLARE @CardNo VARCHAR(300)
|
|
|
|
DECLARE List CURSOR FOR
|
|
SELECT A.FCardId FROM TMemberSaleCard AS A,TMemberSaleBill AS B
|
|
WHERE A.FBillId = B.FBilliD
|
|
AND B.FState = 1
|
|
GROUP BY FCardId
|
|
|
|
|
|
OPEN List
|
|
FETCH List INTO @CardId
|
|
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
DECLARE @CompId BIGINT
|
|
DECLARE @CardCompId BIGINT
|
|
|
|
SELECT TOP 1 @CompId = T.FCompId ,@CardNo = B.FCardNo,@CardCompId = C.FCompId
|
|
FROM TMemberSaleCard AS B,TMemberSaleBill AS T,TMemberCard AS C
|
|
WHERE 1=1
|
|
AND T.FBillId = B.FBillId
|
|
AND B.FSalePrice > 0
|
|
AND B.FCardId = @CardId
|
|
AND C.FCardId = B.FCardId
|
|
AND T.FState = 1
|
|
AND ((T.FWorkDate >= '2018-11-01' AND T.FCompId = 3472330288284041216) OR ( T.FCompId != 3472330288284041216))
|
|
ORDER BY T.FBillTime DESC
|
|
|
|
PRINT @CardNo
|
|
SELECT @CompId = ISNULL(@CompId,0)
|
|
|
|
IF @CompId != @CardCompId AND (@CardCompId IN(SELECT FCompId FROM #Company) OR @CompId IN(SELECT FCompId FROM #Company))
|
|
UPDATE TMemberCard SET FCompId = @CompId WHERE FCardId = @CardId
|
|
|
|
FETCH List INTO @CardId
|
|
END
|
|
|
|
|
|
CLOSE List
|
|
DEALLOCATE LIST
|
|
|
|
|
|
|
|
|
|
COMMIT TRAN |