Bu benim veritabanı üzerinde çalıştırmayı deneyin benim sorgu içinde 'STUD1' adlı nesne zaten ama tutmak oldu altında Bunları 3 hatalar bulundu.Orada veritabanında
CREATE VIEW STUD1
AS
SELECT
*,
RN = ROW_NUMBER() OVER (PARTITION BY R.ContractID
ORDER BY CONVERT(DATE, LEFT(EVAL_PERIOD , charindex('-', EVAL_PERIOD) - 1), 103) DESC)
FROM
SCMD3.DBO.CPE R;
GO
CREATE VIEW STUD2
AS
SELECT
C.ContractID,
GRED1 = MAX(CASE WHEN RN = 2 THEN ALL_GRADE END),
MARK1 = MAX(CASE WHEN RN = 2 THEN ALL_SCORE END),
GRED2 = MAX(CASE WHEN RN = 1 THEN ALL_GRADE END),
MARK2 = MAX(CASE WHEN RN = 1 THEN ALL_SCORE END)
FROM
STUD1 C
GROUP BY
C.ContractID;
GO
SELECT
s.ContractTitle, x.GRED1, x.MARK1, x.GRED2, x.MARK2
FROM
STUD2 x
INNER JOIN
SCMD3.DBO.CONTRACTMASTER s ON x.ContractID = s.ID;
I hatalarından olsun:
Msg 2714, Level 16, State 3, Procedure STUD1, Hat veritabanında 'STUD1' adlı nesne zaten var 2
.Msg 2714, Düzey 16, Durum 3, Yordam STUD2, Satır 9
Veritabanında zaten 'STUD2' adlı bir nesne var.Msg 537, Düzey 16, Durum 2, Satır 20
Geçersiz uzunluk parametresi SOL veya SUBSTRING işlevine iletildi.
Birkaç çözümler çalıştı ama yine de çalıştırmak için başarısız oldu. Yardım çok takdir edilecektir.
ilk iki hata görünümleri veritabanında zaten söylüyor. üçüncü parametre geçersiz parametresi, belki EVAL_PRIOD bir varvhar (string) türü değil – FLICKER
Tüm betiği yürütmeye devam ederseniz, her seferinde görünümleri oluşturmaya çalışır. CREATE VIEW ifadelerinin zaten başarılı olması durumunda, bunları tekrar çalıştırmanız, elde ettiğiniz hataları oluşturur. – siride
@FLICKER Ben görünüm adı sürekli değişiyor ama owh..I gerçekten bu unuttuk @siride EVAL_PERIOD için hala var aynı error..and veri türü varchar (250) – Fiq