0
我試圖連接一個表中的兩個字段和另一個表中的另外兩個字段,並使用連接值作爲主鍵將表連接在一起。使用iReports連接字段和連接表
由於主鍵鏈接到示例5不同的人,我需要一個單獨的值,每個人將一個保單號與一個dep代碼連接起來。
以下是如何使用MSSQL運行查詢的示例(我沒有包含完整的代碼 - 只是一個示例)。
Alter table [beneficiary] add [Unique] varchar(max)
Update [beneficiary] Set [Unique] =concat([t1.ms_fk],[t1.dep_fk])
Alter table [tsf_claim] add [Unique] varchar(max)
Update [tsf_claim] Set [Unique1] =concat([t5.ms_fk],[t5.dep_fk])
LEFT JOIN [mipbi_dbo.td_beneficiary] t5 ON t1.[Unique] = t5.[Unique1]
我需要在iReports上述作爲最終的左連接,我不知道如何在iReports創造更多的領域。另外請注意,我iReports是一個很老的版本(3.7.1)
SELECT t1.scheme_fk,t1.ms_fk,t1.dep_fk,t1.pr_fk,t1.tariff_fk,t1.icd10_fk,t1.claimed_amount,t1.benefit_amount,t1.auth_fk,t1.units,t1.paid_date,
t1.claim_date,t1.claim_code,t1.ref_pr_fk,t1.note,t1.cheque_datetime,t1.suspend_until,t1.dr_mem,t1.suspended,
t2.mem_num,t2.xref_num,
t3.icd10_pk,t3.icd10_descr,
t4.claim_code,t4.description,
t5.initials,t5.surname,
FROM mipst_dbo.tsf_claim as t1
LEFT JOIN mipst_dbo.tsf_memxref t2 ON t1. ms_fk \t = t2.mem_num
LEFT JOIN mipbi_dbo.td_icd10 t3 ON t1.icd10_fk \t = t3.icd10_pk
LEFT JOIN mipst_dbo.tsd_ccdesc \t t4 ON t1.claim_code = t4.claim_code::integer
LEFT JOIN mipbi_dbo.td_beneficiary t5 ON t1.ms_fk = t5.ms_pk
WHERE t1.scheme_fk = '75'
\t
GROUP BY t1.scheme_fk,t1.ms_fk,t1.dep_fk,t1.pr_fk,t1.tariff_fk,t1.icd10_fk,t1.claimed_amount,t1.benefit_amount,t1.auth_fk,t1.units,t1.paid_date,
t1.claim_date,t1.claim_code,t1.ref_pr_fk,t1.note,t1.cheque_datetime,t1.suspend_until,t1.dr_mem,t1.suspended,
t2.mem_num,t2.xref_num,
t3.icd10_pk,t3.icd10_descr,
t4.claim_code,t4.description,
t5.initials,t5.surname
通過添加LEFT JOIN 'LEFT JOIN mipbi_dbo.td_beneficiary T5 ON t1.ms_fk = t5.ms_pk' 它不根據相關代碼添加人員姓名。這僅僅是加入線路。
總之一個保單號被鏈接到不同的人有一個相關的代碼,所以加入信息DEP 1時,應該鏈接到第二個表1 DEP用正確的姓名等
在表1 dep 1可以說10行,因此使用當前代碼,它將在10行上添加保單號的所有信息,而不僅僅是dep 1的信息。
讓我知道上述內容是否明確定義或者如果你需要更多的信息。