"Lỗi nội bộ: Đã đạt đến giới hạn dịch vụ biểu thức. Vui lòng tìm các cụm từ có khả năng phức tạp trong truy vấn của bạn và cố gắng đơn giản hóa chúng."SQL: Lỗi, giới hạn dịch vụ biểu đạt?
Có ai nhìn thấy điều này trước đây và tìm thấy cách giải quyết tốt không?
Tôi cố gắng giải quyết vấn đề này bằng cách tách truy vấn SQL thành hai phần cơ bản và viết truy vấn SQL chọn đầu tiên vào bảng tạm thời và phần thứ hai, câu lệnh chọn SQL mới chọn từ bảng tạm thời và sử dụng rất nhiều Toán tử CROSS APPLY để tính toán các cột được tính toán tầng.
Đây là một ví dụ về cách nhìn phần thứ hai nhưng tôi đang sử dụng rất nhiều chi tiết Chữ thập applys để sản xuất các cột mới mà là tính toán:
Select * from #tempTable
cross apply
(
select HmmLowestSalePrice =
round(((OurSellingPrice + 1.5)/0.95) - (CompetitorsLowestSalePrice) + 0.08, 2)
) as HmmLowestSalePrice
cross apply
(
select checkLowestSP =
case
when adjust = 'No Room' then 'No Room'
when OrginalTestSalePrice >= CompetitorsLowestSalePrice then 'Minus'
when OrginalTeslSalePrice < CompetitorsLowestSalePrice then 'Ok'
end
) as checkLowestSP
cross apply
(
select AdjustFinalNewTestSP =
case
when FinalNewTestShipping < 0 Then NewTestSalePrice - (FinalNewTestShipping)
when FinalNewTestShipping >= 0 Then NewTestSalePrice
end
) as AdjustFinalNewTestSP
cross apply
(
select CheckFinalSalePriceWithWP =
case
when round(NewAdminSalePrice, 2) >= round(wholePrice, 2) then 'Ok'
when round(NewAdminSalePrice, 2) < round(wholePrice, 2) then 'Check'
end
) as CheckFinalPriceWithWP
DROP TABLE #tempTable
Mục tiêu của tôi để đưa điều này vào một báo cáo sql và nó hoạt động tốt nếu chỉ có 1 người dùng là #tempTable
sẽ được tạo và thả trong cùng một bản thực thi và kết quả được hiển thị trong báo cáo chính xác. Nhưng trong tương lai nếu có người dùng đồng thời, tôi lo ngại rằng họ sẽ viết cho cùng một #tempTable
, điều này sẽ ảnh hưởng đến kết quả?
Tôi đã xem xét việc đưa quy trình này vào các thủ tục được lưu trữ nhưng vẫn nhận được thông báo lỗi ở trên.
Tôi mơ về một thế giới mà chúng ta không cần phải hoàn toàn cấu trúc lại mã của chúng tôi để phù hợp với một, hạn chế cổ xưa tối nghĩa. Nếu bạn chia sẻ giấc mơ đó, vui lòng bỏ phiếu cho phản hồi Kết nối của tôi: https://connect.microsoft.com/SQLServer/feedback/details/789949/sql-increase-expression-services-limit-for-complex-nested-in-clauses –