0
다른 임시 테이블에 하위 쿼리 결과를 삽입하려고합니다. SubQuery는 하위 쿼리로 만 실행할 때 잘 작동하지만 하위 쿼리로는 작동하지 않습니다. 구문 오류가 발생합니다. 오류 : ')'근처의 구문이 잘못되었습니다. 그것은 구문에 가입 된 혼합하지 마십시오, 하위 쿼리하위 쿼리가 제대로 작동하지 않습니다.
DECLARE @TempT TABLE
(
RowID INT IDENTITY(1, 1) ,
Date DATETIME ,
Type NVARCHAR(MAX) ,
V_No INT ,
Chq_No INT ,
Description NVARCHAR(MAX) ,
Debit MONEY ,
Credit MONEY ,
voucher_type_no INT ,
status NVARCHAR(10) ,
Clr_Date DATETIME ,
Voucher_Id INT ,
Party_Name NVARCHAR(MAX) ,
DateYYYYMMDD DATETIME
)
DECLARE @i INT= 1
INSERT INTO @TempT
SELECT *
FROM (SELECT v.date 'Date' ,
vt.voucher_type_shortname 'Type' ,
v.voucher_no 'V_No' ,
v.cheque_no 'Chq_No' ,
a.account_name 'Description' ,
(CASE WHEN SUM(v.amount) > 0 THEN SUM(v.amount)
ELSE 0
END) Debit ,
(CASE WHEN SUM(v.amount) < 0 THEN SUM(-v.amount)
ELSE 0
END) Credit ,
v.voucher_type_no ,
r.status ,
r.recon_date 'Clr_Date' ,
MIN(v.voucher_id) Voucher_Id ,
'' 'Party_Name' ,
CONVERT(VARCHAR(10), r.recon_date, 126) 'Date YYYY-MM-DD'
FROM voucher v
LEFT OUTER JOIN reconcilation r ON v.voucher_id = r.voucher_id
LEFT OUTER JOIN account a ON v.other_acno = a.account_no ,
voucher_type vt
WHERE v.voucher_type_no = vt.voucher_type_no
AND v.voucher_type_no > 0
AND v.other_acno = a.account_no
AND v.acc_year = 51
AND v.account_no = 10030
AND R.recon_date <= '2015-01-12'
AND R.recon_date >= '2009-04-01'
AND V.posted IN (1, 2)
GROUP BY v.voucher_no ,
v.cheque_no ,
v.date ,
vt.voucher_type_shortname ,
a.account_name ,
v.voucher_type_no ,
r.status ,
r.recon_date
)
한 의견 후에 별명을 사용의 첫 번째 줄에 (T1, T2에서 ... 선택), 그리고 새로운 JOIN 구문은 너무 혼란 스럽습니다. – jarlh