Tôi đang cố gắng viết một thủ tục lưu sẵn cho Crystal Reports bằng cách kết hợp nhiều truy vấn vào một kết quả đơn (Crystal không hỗ trợ nhiều kết quả trong một báo cáo).Làm thế nào để CHỌN đúng INTO @TempTable Nhiều lần để trả về một kết quả đơn?
Tập kết quả tôi đang cố gắng kết hợp các cột từ cả hai bảng.
Trong SP, tôi khai báo @temptable và các cột (vì hai bảng tôi đang truy vấn có các cột khác nhau).
DECLARE @TEMPNEWBILLING TABLE
(
ACCOUNT DECIMAL null,
CLIENT NVARCHAR null,
TIMESTAMP INT null,
BILLING DECIMAL null,
CALLKIND INT null,
HITK1 DECIMAL null,
HITK2 DECIMAL null,
HIDISC DECIMAL null,
HITALK DECIMAL null,
HIPTCH DECIMAL null,
HICONF DECIMAL null,
HIHOLD DECIMAL null,
PTCH DECIMAL null,
SUPERTIME DECIMAL null
)
sau đó tôi SELECT
từ hai bảng INTO
bảng tạm thời:
SELECT Account, Client, Timestamp, Billing, CallKind, HiTk1, HiTk2, HiDisc, HiTalk, HiPtch, HiConf, HiHold, Ptch
INTO TEMPNEWBILLING
FROM
mCallEnd
WHERE billing = cast(@BILLINGNUMBER as decimal)
AND Timestamp > @STARTITIME
AND Timestamp < @ENDITIME
AND CallKind in (0,1,2,3,4,16)
SELECT
Billing, SuperTime
INTO TEMPNEWBILLING
FROM
mClientMaint
WHERE billing = cast(@BILLINGNUMBER as decimal)
AND Timestamp > @STARTITIME
AND Timestamp < @ENDITIME
Và cuối cùng, tôi chỉ nhận được tất cả dữ liệu từ bảng temp.
SELECT * FROM @TEMPNEWBILLING
Thật không may, một cái gì đó đang xảy ra sai, như khi tôi chạy SP, tôi nhận được một lỗi mà
Hiện đã là một đối tượng có tên là 'TEMPNEWBILLING' trong cơ sở dữ liệu.
Tôi đã kiểm tra và có vẻ như truy vấn đầu tiên đang chạy, nhưng lỗi được đưa vào lựa chọn thứ hai. Tôi phải làm điều này sai, vì tôi nhận được cùng một lỗi nếu tôi sử dụng # bảng hoặc @ bảng (ví dụ: delcare bảng so với tạo bảng).
Có phải khách hàng tiềm năng điền bảng tạm thời với kết quả của hai truy vấn đơn giản là không thể? Tôi có sử dụng công cụ sai cho công việc không?