2016-09-22 2 views
0

Ich versuche, zwei Felder in einer Tabelle und zwei weitere Felder in einer anderen Tabelle zu verketten und den verketteten Wert als Primärschlüssel zu verwenden, um die Tabellen zusammenzufügen.Verketten von Feldern und Join-Tabellen mit iReports

Aufgrund der Tatsache, dass der Primärschlüssel mit Beispiel 5 verschiedenen Personen verknüpft ist, brauche ich einen eindeutigen Wert pro Person Verketten einer Policy-Nummer mit einem Dep-Code.

Im Folgenden finden Sie ein Beispiel für die Ausführung der Abfrage mit MSSQL (ich habe nicht den vollständigen Code enthalten - nur ein Beispiel).

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]

Ich brauche die oben in iReports aufzunehmen als die letzten links kommen und ich weiß nicht, wie in iReports zusätzliches Feld zu erstellen. Beachten Sie auch, dass mein iReports ist eine sehr alte Version (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

von der linken Hinzufügen join 'LINKS mipbi_dbo.td_beneficiary T5 t1.ms_fk = t5.ms_pk JOIN es fügt den Namen der Person nicht gemäß dem abhängigen Code hinzu. Es geht nur darum, sich den Linien anzuschließen.

kurz in einer Richtlinie Nummer wird mit einem abhängigen Code für verschiedene Menschen verknüpft, so dass, wenn den Informationen Beitritt 1 dep verknüpft werden soll 1 aus der zweiten Tabelle mit dem richtigen Namen und Nachnamen usw.

In Tabelle dep 1 dep 1 kann sagen, 10 Zeilen, so mit dem aktuellen Code ist das Hinzufügen aller Informationen für die Policy-Nummer auf den 10 Zeilen und nicht nur die Informationen für dep 1.

Lassen Sie mich wissen, ob das Obige eindeutig definiert ist oder wenn Sie mehr Informationen benötigen.

Antwort

0

konnte ich die Abfrage von lediglich

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,t4.scheme_code, 
 
     t5.ms_pk,t5.dep_fk,t5.initials,t5.surname, 
 
     t6.narration,t6.key 
 

 
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 
 
LEFT JOIN mipst_dbo.tsf_note \t  t6 ON t1.note  = t6.key 
 

 
WHERE t1.scheme_fk = '28' and 
 
\t  t4.scheme_code = '28' and 
 
     t1.ms_fk = t5.ms_pk AND 
 
     t1.dep_fk =t5.dep_fk 
 
    
 
\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,t4.scheme_code, 
 
     t5.ms_pk,t5.dep_fk,t5.initials,t5.surname, 
 
     t6.narration,t6.key

Aktualisierung der Where-Klausel lösen.

Verwandte Themen