Naja, dan JOIN bzw LEFT JOIN.
Deinem Code entnehme ich , dass es 4 Tabellen gibt: kunden, web_kunden kundenerinnerung und web_kundenerinnerungen.
(verwirrend)
Du wählst eine (SELECT) und joinst die anderen ran.
Dabei kommt es an, ob die Beziehungen (ON ...) immer vorhanden sind, oder vorhanden sein können.
Im Normalfall gibt es zB eine eindeutige Kunden id - zB einfach nur id oder kd_id.
Um dafür eine Query zu schreinben, müssen wir erstmal wissen, wie die Tabellen aussehen.
Du kannst (wenn es öffentlich verfügbar sein darf) die Create-Statements posten.
(bekommst Du zB durch: SHOW CREATE TABLE meine_tabelle; siehe http://dev.mysql.com/doc/refman/5.7…eate-table.html)
Ich gehe mal nur von Tabelle kunden und kundenerinnerung aus.
Für jeden Kunden gibt es (logisch) einen Datensatz in der (Haupttabelle) Tabelle kunden.
Für jeden Kunden kann es keinen, einen, oder mehrere Einträge in der Tabelle kundenerinnerung geben.
Tabelle Bsp:
-- tabelle kunden
id | kdnr | name | ...
------------------------
1 |123 | hans
2 |124 | bernd
3 |125 | wurst
-- tabelle kundenerinnerung
id | msg | something | ...
-------------------------------------------------
3 |'text 3.1' | 'something 3.1'
3 |'text 3.2' | 'something 3.2'
3 |'text 3.3' | 'something 3.3'
2 |'text 2.1' | 'something 2.1'
Alles anzeigen
Kunde mit id 1 hat keine Einträge in Tabelle kundenerinnerung.
Kunde mit id 2 hat einen, und Kunde mit id 3 hat gleich mehrere Erinnerungen.
Ein SELECT sähe dann in etwa so aus:
SELECT
`kd`.`id`, `kd`.`kdnr`, `kd`.`name`, -- von `kunden` selectiert
`kde`.`msg`, `kde`.`something` -- von `kundenerinnerung` selectiert
FROM `kunden` AS `kd` -- AS `alias name`
LEFT JOIN `kundenerinnerung` AS `kde`
ON `kde`.`id` = `kd`.`id` -- wenn das feld in beiden tabellen id heisst, kannst du auch USING (`id`) nutzen
WHERE
`kd`.`id` = ?
AND ...
Suchst Du nun nach kd.id 1, dann bekommst Du in etwa:
id | kdnr | name | msg | something
------------------------
1 |123 | hans | NULL | NULL
(msg und something NULL, denn in der 2ten Tabelle gab es keine Übereinstimmungen.)
Beim Select auf kd.id 3 sollte sowas rauskommen:
id | kdnr | name | msg | something
----------------------------------------------------
3 |125 | wurst | 'text 3.1' | 'something 3.1'
3 |125 | wurst | 'text 3.2' | 'something 3.2'
3 |125 | wurst | 'text 3.3' | 'something 3.3'
Hoffe das hilft irgendwie =)