Seit wenigen Tagen funktionieren zahlreiche selbst konstruierte Statistikabfragen, die über Jahre problemlos funktioniert haben auf einmal nicht mehr. Es kommt lediglich eine Fehlermeldung. Eine Idee was los ist und wie man das problem beheben könnte?
true;
drop table if exists tempTagTable;
create temporary table tempTagTable as
select ungrouped.patientID,
string_agg(ungrouped.tagname,', ') as tags,
array_agg(ungrouped.ident) as tags_idents
from (
select A.patientID,
A.patientendetailsID,
C.beschreibung as tagname,
C.ident as ident
from tempPatientTable A
join patientendetails_tags B on (A.patientendetailsID = B.patientendetails_ident)
join tag C on (B.tags_ident = C.ident)
where C.gruppe = false
order by A.patientID) ungrouped
group by ungrouped.patientID;
-- die lange Auflistung ist notwendig, damit die Patientendetails_ident nicht ausgegeben wird
select A.patientID,
A.nachname,
A.vorname,
A.titel,
A.namenszusatz,
A.geburtsdatum,
A.geburtsname,
A.jahre,
A.geschlecht,
A.strasse,
A.plz,
A.ort,
A.land,
A.todestag,
A.telefon,
A.handy,
A.dienstlich,
A.email,
A.fax,
A.will_keine_anrufe,
A.willKeineSMS,
A.will_kein_fax,
A.will_keine_emails,
A.will_keine_newsletter,
A.will_keinen_recall,
A.verbietet_versand_termindetails,
A.verbietet_versand_meddoku,
A.verbietet_versand_rechnungen,
A.Patienteninfo,
A.erstbehandler,
A.privatpatient,
A.selbststaendig,
A.beruf,
A.arbeitgeber,
A.hausarztID,
A.hausarzt,
A.erster_besuch,
A.zuletzt_aufgerufen,
A.behandlungsausweis,
A.versichertennummer,
A.kassenname_laut_karte,
A.institutionskennzeichen,
A.versichertenstatus,
A.private_zusatzversicherung,
A.stationaere_zusatzversicherung,
A.name_stationaere_zusatzversicherung,
A.privattarif,
A.privatkasse,
A.Versichertennummer_privat,
A.ja_Nein_Patient1,
A.ja_Nein_Patient2,
A.freitext_Patient1,
A.freitext_Patient2,
A.freitext_Patient3,
A.freitext_Patient4,
T.tags as Marker
from tempPatientTable A
left join tempTagTable T on (T.patientID = A.patientID)
where
true
'
2025-02-26 09:18:58 +0000:
===============
Batch entry 4
create temporary table tmpTable_Kassenpat as
select p.ident from patient p
left join patientendetails pd on (p.patientendetails_ident = pd.ident)
left join Hausarzt ha on (pd.hausarzt_ident = ha.ident)
left join Kontaktdaten kd on (pd.kontaktdaten_ident = kd.ident)
left join Adresse add on (kd.adresse_ident = add.ident)
left join Arbeitgeber ab on (pd.Arbeitgeber_ident = ab.ident)
left join Nutzer a on (pd.arzt_ident = a.ident)
left join patientendetails_tags pt on (pt.patientendetails_ident = pd.ident)
left join Tag tag on (pt.tags_ident = tag.ident)
left join Kartendaten gkvkd on (pd.aktuelleGVKKartendaten_ident = gkvkd.ident)
left join Kartendaten pvkd on (pd.aktuellePVKartendaten_ident = pkvkd.ident)
where true
and PD.privatPatient = false was aborted: ERROR: missing FROM-clause entry for table "pkvkd"
Position: 748 Call getNextException to see other errors in the batch.
===============
ERROR: missing FROM-clause entry for table "pkvkd"
Position: 748
true;
drop table if exists tempTagTable;
create temporary table tempTagTable as
select ungrouped.patientID,
string_agg(ungrouped.tagname,', ') as tags,
array_agg(ungrouped.ident) as tags_idents
from (
select A.patientID,
A.patientendetailsID,
C.beschreibung as tagname,
C.ident as ident
from tempPatientTable A
join patientendetails_tags B on (A.patientendetailsID = B.patientendetails_ident)
join tag C on (B.tags_ident = C.ident)
where C.gruppe = false
order by A.patientID) ungrouped
group by ungrouped.patientID;
-- die lange Auflistung ist notwendig, damit die Patientendetails_ident nicht ausgegeben wird
select A.patientID,
A.nachname,
A.vorname,
A.titel,
A.namenszusatz,
A.geburtsdatum,
A.geburtsname,
A.jahre,
A.geschlecht,
A.strasse,
A.plz,
A.ort,
A.land,
A.todestag,
A.telefon,
A.handy,
A.dienstlich,
A.email,
A.fax,
A.will_keine_anrufe,
A.willKeineSMS,
A.will_kein_fax,
A.will_keine_emails,
A.will_keine_newsletter,
A.will_keinen_recall,
A.verbietet_versand_termindetails,
A.verbietet_versand_meddoku,
A.verbietet_versand_rechnungen,
A.Patienteninfo,
A.erstbehandler,
A.privatpatient,
A.selbststaendig,
A.beruf,
A.arbeitgeber,
A.hausarztID,
A.hausarzt,
A.erster_besuch,
A.zuletzt_aufgerufen,
A.behandlungsausweis,
A.versichertennummer,
A.kassenname_laut_karte,
A.institutionskennzeichen,
A.versichertenstatus,
A.private_zusatzversicherung,
A.stationaere_zusatzversicherung,
A.name_stationaere_zusatzversicherung,
A.privattarif,
A.privatkasse,
A.Versichertennummer_privat,
A.ja_Nein_Patient1,
A.ja_Nein_Patient2,
A.freitext_Patient1,
A.freitext_Patient2,
A.freitext_Patient3,
A.freitext_Patient4,
T.tags as Marker
from tempPatientTable A
left join tempTagTable T on (T.patientID = A.patientID)
where
true
'
2025-02-26 09:18:58 +0000:
===============
Batch entry 4
create temporary table tmpTable_Kassenpat as
select p.ident from patient p
left join patientendetails pd on (p.patientendetails_ident = pd.ident)
left join Hausarzt ha on (pd.hausarzt_ident = ha.ident)
left join Kontaktdaten kd on (pd.kontaktdaten_ident = kd.ident)
left join Adresse add on (kd.adresse_ident = add.ident)
left join Arbeitgeber ab on (pd.Arbeitgeber_ident = ab.ident)
left join Nutzer a on (pd.arzt_ident = a.ident)
left join patientendetails_tags pt on (pt.patientendetails_ident = pd.ident)
left join Tag tag on (pt.tags_ident = tag.ident)
left join Kartendaten gkvkd on (pd.aktuelleGVKKartendaten_ident = gkvkd.ident)
left join Kartendaten pvkd on (pd.aktuellePVKartendaten_ident = pkvkd.ident)
where true
and PD.privatPatient = false was aborted: ERROR: missing FROM-clause entry for table "pkvkd"
Position: 748 Call getNextException to see other errors in the batch.
===============
ERROR: missing FROM-clause entry for table "pkvkd"
Position: 748