ich habe ein Problem mit einer Abfrage. Es spuckt mir die Werte (Namen und dazugehörige Bemerkungen) doppelt aus.
Er soll mir eigentlich eine Liste ausgeben mit allen NAmen, Kundennummer etc. und wenn eine Bemerkung vermerkt ist, dann auch diese. Eine Schwierigkeit ist vielleicht, dass es Bemerkungen gibt, die für intern gedacht sind und Bemerkungen, die für die Ausgabe gedacht sind "bemerkungen_pap" und diese alle in einer Datenbankzeile gespeichert sind.
Hier mal die Abfrage, vielleicht kann mir ja jemand den/die Fehler schon nur damit sagen:
- Code: Select all
SELECT
a_kunde.`anrede` AS a_kunde_anrede,
a_kunde.`name` AS a_kunde_name,
a_kunde.`vorname` AS a_kunde_vorname,
a_kunde.`kundennummer` AS a_kunde_kundennummer,
a_kunde.`pap` AS a_kunde_pap,
a_bemerkungen.`bemerkungpap` AS a_bemerkungen_bemerkungpap,
a_termine.`terminort` AS a_termine_terminort,
a_termine.`datum` AS a_termine_datum,
a_termine.`termintyp` AS a_termine_termintyp,
a_termine.`name` AS a_termine_name
FROM
`a_kunde` a_kunde
LEFT JOIN `a_kunde_a_termine_c` a_kunde_a_termine_c ON a_kunde.`id` = a_kunde_a_termine_c.`a_kunde_cea_kunde_ida`
LEFT JOIN `a_termine` a_termine ON a_kunde_a_termine_c.`a_kunde_a_termine_idb` = a_termine.`id`
LEFT JOIN `a_kunde_c_bemerkungen_c` a_kunde_c_bemerkungen_c ON a_kunde_a_termine_c.`a_kunde_cea_kunde_ida` = a_kunde_c_bemerkungen_c.`a_kunde_cna_kunde_ida` AND a_kunde.`id` = a_kunde_c_bemerkungen_c.`a_kunde_cna_kunde_ida`
LEFT JOIN `a_bemerkungen` a_bemerkungen ON a_kunde_c_bemerkungen_c.`a_kunde_cemerkungen_idb` = a_bemerkungen.`id`
WHERE
a_termine.deleted = 0
AND a_kunde_a_termine_c.deleted = 0
AND a_termine.terminort LIKE 'Musterhausen%'
AND WEEK(a_termine.datum) = (WEEK(NOW())-1)
AND a_kunde.pap = 'Mustermann'
ORDER BY
a_termine.datum ASC,
a_termine.termintyp ASC
Wenn mir jemand einen Tip geben kann wäre ich überglücklich (machenun schon seit heute Morgen um 7 dran rum)
Vielen Dank schon mal im Voraus
noch_in_ausbildung