Skip to main content

Hallo, wie das Thema schon sagt hatten wir bislang einen Bericht gebastelt, der uns neue Kunden/Monat ausgibt,. Das funktioniert leider seit geraumer Zeit nicht mehr richtig. Offenbar klappt die SQL Abfrage nicht mehr wie gewünscht.

Folgendes hatten wir geschrieben:

SELECT
r.von AS datum,
a.kundennummer AS kundennummer,
a.typ AS typ,
a.name AS name,
a.email AS email,
a.ustid AS ustid,
a.land AS land,
a.strasse AS strasse,
a.plz AS plz,
a.ort AS ort
FROM adresse AS a
JOIN adresse_rolle r ON r.adresse = a.id
WHERE r.von>= '{DATUMVON}'
AND r.von<='{DATUMBIS}'
ORDER BY a.kundennummer

Da ich kein ITler in dem Sinne bin, habt Ihr eventuell eine Idee warum das nicht mehr klappt?

Hallo Selcuk,

was funktioniert denn nicht mehr?
Die Abfrage an sich enthält keine Fehler und liefert eine funktionierende Tabelle.

Inhaltlich zeigt die Tabelle aber alle Rollen an die ihr Adressen zuordnet.
Eigentlich wollt ihr ja nur die Kunden Rolle sehen?
Dafür könnte man die Abfrage leicht abwandeln:

SELECT
r.von AS datum,
a.kundennummer AS kundennummer,
a.typ AS typ,
a.name AS name,
a.email AS email,
a.ustid AS ustid,
a.land AS land,
a.strasse AS strasse,
a.plz AS plz,
a.ort AS ort

FROM adresse AS a

JOIN
(
SELECT
von,
adresse
FROM
adresse_rolle
WHERE
Subjekt = 'Kunde'
) AS r ON r.adresse = a.id

WHERE r.von>= '{DATUMVON}'
AND r.von<='{DATUMBIS}'
ORDER BY a.kundennummer

 

Gruß
Niels


Erhalte mit Deiner Ausführung eine Fehlermeldung...wenn ich den Bericht für Juni auswerten möchte, erhalte ich zwar eine Liste, allerdings mit “einigen Zeilen” mehr die praktisch keine Informationen enthalten.


Hi @Selcuk Özkaynar ,

deine Abfrage gibt dir eine Liste an Kunden, die in dem Zeitbereich irgendeine Rollenzuordnung bekommen haben, sei es die Kundenzuordnung oder die Mitgliedschaft in einem Projekt oder einen (Preis-)Gruppe.

Ich würde einen Neukunden eher so definieren, dass er/sie in einem bestimmten Zeitraum eine Rechnung bekommen haben - und zwar die erste Rechnung, die der Kunde jemals bekommen hat. Dazu benötigt ihr aber eine andere Abfrage.

Warum die Abfrage früher funktioniert hat und jetzt nicht mehr, kann ich nicht nachvollziehen.

Grüße

Knut


Hi @Selcuk Özkaynar ,

deine Abfrage gibt dir eine Liste an Kunden, die in dem Zeitbereich irgendeine Rollenzuordnung bekommen haben, sei es die Kundenzuordnung oder die Mitgliedschaft in einem Projekt oder einen (Preis-)Gruppe.

Ich würde einen Neukunden eher so definieren, dass er/sie in einem bestimmten Zeitraum eine Rechnung bekommen haben - und zwar die erste Rechnung, die der Kunde jemals bekommen hat. Dazu benötigt ihr aber eine andere Abfrage.

Warum die Abfrage früher funktioniert hat und jetzt nicht mehr, kann ich nicht nachvollziehen.

Grüße

Knut

 

Alles was hier versucht wird sind workarounds.

Ein Zeitstempel, der gesetzt wird sobald man einer Adresse die Kundenrolle zuordnet (in diesem Moment wird ja auch die Kundennummer vergeben), fehlt im Programm?

Ich würde es nicht über das Rechnungsdatum der ersten Rechnung definieren.


Hi @niels.jakobs , nein, den Timestamp gibt es nicht.

Grüße

Knut


Hallo @niels.jakobs und @Selcuk Özkaynar ,

wir lösen das über das Datum der ersten Bestellung. 

Xentral Report: Neukunden mit Kunde seit und Datum erste Bestellung - xen.do.it. (xendoit.de)

Grüße, Dein Xendoit-Team


Antworten