OP Liste erstellen

Fragen und Probleme rund um die Abfragespache SQL.

OP Liste erstellen

Beitragvon derstauner » Mo 21. Feb 2011, 23:01

Hallo,

seit mehreren Tagen versuche ich aus der folgenden Tabelle eine OP Liste zu basteln, leider ohne Erfolg. Es frustriert mich schon, dass ich alle Daten zu einer OP Liste habe, aber ich kann es nicht hinbekommen.

Im Anhang ist eine Excel-Datei (gezippt). Vielleicht kann sich das jemand anschauen und weiterhelfen. Vielen Dank im Voraus.

Hier die Datei: [ATTACH]121[/ATTACH]
Dateianhänge
open items sql.zip
(10.25 KiB) 13-mal heruntergeladen
derstauner
Neuer Benutzer
 
Beiträge: 8
Registriert: So 23. Jan 2011, 10:21

Beitragvon castorp » Mo 21. Feb 2011, 23:26

Was hat denn ein Excel Datei in einem Postgres Forum verloren?
Und was ist eine OP Liste? Hat das was mit einem Krankenhaus zu tun? Verteilung der Operationsplätze oder sowas?

Bitte poste CREATE TABLE statemens um uns Deine Tabellen zu zeigen
Ein paar INSERT INTO statements um Testdaten zu erzeugen
Das erwartete Ergebnis bezogen auf diese Testdaten.

Eine unbekannte Binärdatei (Viren!) die auch noch ein kostenpflichtiges Programm erfordert, werden hier nicht viele Leute aufmachen.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
castorp
Erfahrener Benutzer
 
Beiträge: 673
Registriert: Sa 27. Jun 2009, 22:24

Beitragvon derstauner » Di 22. Feb 2011, 19:19

Bitte poste CREATE TABLE statemens um uns Deine Tabellen zu zeigen
Ein paar INSERT INTO statements um Testdaten zu erzeugen
Das erwartete Ergebnis bezogen auf diese Testdaten.
genau das habe ich in der excel Tabelle gemacht. Da ich diesen Beitrag aus Ungarn schreibe (ich bin ein Ungar) und demzufolge die Tabellendefinition auch in ungarisch ist (ich meine, die Spaltennamen), habe ich alles ganz schön ins Deutsche übersetzt und alles in dieser excel-Datei zusammengefasst. Die Aufbereitung der Daten kostete mir etwa eine Stunde. Aber egal, ich werde meinen Kopf darüber weiter zerbrechen. Bisher habe ich die Lösung für meine Probleme immer gefunden, wenn auch mit etwas Zeitverzögerung.

Und ich habe noch vergessen: OP-Liste = offene Posten Liste (Debitoren, Kreditoren)
derstauner
Neuer Benutzer
 
Beiträge: 8
Registriert: So 23. Jan 2011, 10:21

Beitragvon akretschmer » Di 22. Feb 2011, 19:56

derstauner hat geschrieben:genau das habe ich in der excel Tabelle gemacht. Da ich diesen Beitrag aus Ungarn schreibe (ich bin ein Ungar) und demzufolge die Tabellendefinition auch in ungarisch ist (ich meine, die Spaltennamen), habe ich alles ganz schön ins Deutsche übersetzt und alles in dieser excel-Datei zusammengefasst. Die Aufbereitung der Daten kostete mir etwa eine Stunde. Aber egal, ich werde meinen Kopf darüber weiter zerbrechen. Bisher habe ich die Lösung für meine Probleme immer gefunden, wenn auch mit etwas Zeitverzögerung.

Und ich habe noch vergessen: OP-Liste = offene Posten Liste (Debitoren, Kreditoren)


Um es noch einmal gaaanz langsam zu erklären: wir können Dein "open items sql.xlsx" nicht in psql via \i einlesen. Und Du kannst nicht erwarten, daß irgend wer hier sich das Geld nimmt, um erst einmal Excel zu kaufen, und dann nochmals die Zeit, um aus einem Excel-Shit eine SQL-Datenbank zu erraten, nur um Dir helfen zu können. Es spielt dabei auch keine Rolle, ob Du etwa eine Stunde oder gar eine Woche damit verbracht hast, das schick zu gestalten, auch eine PowerPoint-Präsentation wäre nicht hilfreich. SQL bedeutet: ASCII, rein Text, reine SQL-Befehle. Nicht mehr, aber auch nicht weniger.

Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5938
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon derstauner » Mi 23. Feb 2011, 19:08

Um es noch einmal gaaanz langsam zu erklären
Danke, aber mein Denkvermögen ist nicht eben das langsamste.

Aber ein ruhiger Kopf und ein JOIN(t) lösen die Probleme immer:

Code: Alles auswählen
SELECT  nyitott_lista.partner,
    nyitott_lista.biz_sz,
    nyitott_lista.b_sorsz,
    nyitott_lista.bizdatum,
    nyitott_lista.kdatum,
    nyitott_lista.fhatid,
    nyitott_lista.e_biztipus,
    nyitott_lista.osszeg_vp,
    CASE WHEN nyitott_lista.kiegy_maradvany_vp IS NULL THEN nyitott_lista.osszeg_vp ELSE nyitott_lista.kiegy_maradvany_vp END AS maradvany_vp,
    nyitott_lista.osszeg_bp,
    CASE WHEN nyitott_lista.kiegy_maradvany_bp IS NULL THEN nyitott_lista.osszeg_bp ELSE nyitott_lista.kiegy_maradvany_bp END AS maradvany_bp,
    nyitott_lista.b_pnem,
    nyitott_lista.arf,
    nyitott_lista.biztipus,
    nyitott_lista.ref1,
    nyitott_lista.ref2
FROM
(
(
--először a könyvelési dátum szerint lekérem a bizonylatokat, amelyek az adott dátumig valamilyen mértékben (akár teljesen is) nyitva lehetnek
SELECT  DISTINCT
    kiegy_tetelek.partner,
    kiegy_tetelek.biz_sz,
    kiegy_tetelek.b_sorsz,
    kiegy_tetelek.bizdatum,
    kiegy_tetelek.kdatum,
    kiegy_tetelek.fhatid,
    kiegy_tetelek.e_biztipus,
    kiegy_tetelek.osszeg_vp,
    kiegy_tetelek.osszeg_vp AS maradvany_vp,
    kiegy_tetelek.osszeg_bp,
    kiegy_tetelek.osszeg_bp AS maradvany_bp,
    kiegy_tetelek.b_pnem,
    kiegy_tetelek.arf,
        kiegy_tetelek.biztipus,
        kiegy_tetelek.ref1,
        kiegy_tetelek.ref2
FROM kiegy_tetelek
WHERE kiegy_tetelek.tipus='V' AND kiegy_tetelek.partner IN ('90001') AND kdatum<='2010-03-01'
ORDER BY kdatum
) AS bizonylatok
--majd a belső sorszám alapján a bizonylatokhoz lekérdezzük az adott határnapon nyitott összegeket
LEFT JOIN
(
SELECT MIN(maradvany_vp) AS kiegy_maradvany_vp, MIN(maradvany_bp) AS kiegy_maradvany_bp, b_sorsz AS kiegy_b_sorsz FROM kiegy_tetelek
WHERE kiegy_tetelek.tipus='V' AND kiegydatum<='2010-03-01'
GROUP BY b_sorsz
) AS maradvanyok
ON bizonylatok.b_sorsz=maradvanyok.kiegy_b_sorsz
) AS nyitott_lista
WHERE nyitott_lista.kiegy_maradvany_bp<>0
derstauner
Neuer Benutzer
 
Beiträge: 8
Registriert: So 23. Jan 2011, 10:21


Zurück zu SQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron